OSDN Git Service

(thumb_find_work_register): Check all of the argument registers to see if they
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index fc2ef71..fb3aa1b 100644 (file)
@@ -1,3 +1,660 @@
+2005-03-01  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.c (thumb_find_work_register): Check all of the
+       argument registers to see if they are free, and a couple of
+       special cases where the last argument register but can be proved
+       to be available during the function's prologue.
+       (print_multi_reg, arm_compute_save_reg0_reg12_mask,
+       output_return_instruction, emit_multi_reg_push, thumb_pushpop,
+       thumb_unexpanded_epilogue): Use unsigned long as the type for the
+       register bit-mask.
+       (thumb_compute_save_reg_mask): Likewise.  Also use
+       thumb_find_work_register() to ensure that there is agreement about
+       which work register is going to be used in the prologue.
+       (thumb_output_function_prologue): Use unsigned long as the type
+       for the register bit-mask.  Also delay pushing the link register if
+       other high registers are going to be pushed.
+       (thumb_compute_save_reg_mask, emit_multi_reg_push,
+       print_multi-reg, number_of_first_bit_set, thumb_pushpop): Remove
+       redundant prototypes.
+
+2005-02-28  John David Anglin  <dave.anglin#nrc-cnrc.gc.ca>
+
+       PR target/19819
+       * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during
+       and after reload in REG+REG indexed addresses without REG_POINTER
+       set in the base and not set in the index.
+
+2005-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+       Don't undefine here.
+       (HANDLE_PRAGMA_PACK_PUSH_POP): Delete.
+       (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC): Likewise.
+       (TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS.
+       (LIB_SPEC, LINK_EH_SPEC, STARTFILE_SPEC, ENDFILE_SPEC,
+       LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED, TARGET_C99_FUNCTIONS):
+       Delete.
+       * config.gcc (sh*-*-linux*): Use config/linux.h.
+
+2005-02-28  Dale Johannesen  <dalej@apple.com>
+           Stan Shebs  <shebs@apple.com>
+
+       Rewrite of 64-bit Darwin structure-by-value pass/return.
+       * config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields
+       intoffset, use_stack, named.
+       * config/rs6000/rs6000.c (rs6000_darwin64_function_arg):  Remove.
+       (rs6000_darwin64_record_arg_advance_flush):  New.
+       (rs6000_darwin64_record_arg_advance_recurse): New.
+       (rs6000_darwin64_record_arg_flush):  New.
+       (rs6000_darwin64_record_arg_recurse):  New.
+       (rs6000_darwin64_record_arg):  New.
+       (rs6000_return_in_memory):  Remove AGGREGATE_TYPE_P check.
+       (function_arg_boundary):  Handle 128-bit aligned structs.
+       (function_arg_advance):  Rewrite darwin64 struct handling.
+       (function_arg):  Call rs6000_darwin64_record_arg.
+       (function_arg_partial_nregs):  Handle darwin64 structs.
+       (rs6000_darwin64_function_value):  Remove.
+       (rs6000_function_value):  Call rs6000_darwin64_record_arg.
+
+2005-02-28  Roger Sayle  <roger@eyesopen.com>
+
+       PR tree-optimization/20216
+       * tree-chrec.c (tree_fold_factorial): Delete.
+       (tree_fold_binomial): Change argument list to take a return type
+       and change the type of K to unsigned int.  Rewrite to avoid explicit
+       evaluation of factorials, and (recursively) calling fold to perform
+       compile-time arithmetic.  Return NULL on (internal) overflow.
+       (chrec_evaluate): Change type of K to an unsigned int.  Avoid
+       calling tree_fold_binomial unnecessarily.  Return chrec_dont_know
+       if any intermediate calculation overflows.
+       (chrec_apply): Update call to chrec_evaluate.
+
+2005-02-28  James E Wilson  <wilson@specifixinc.com>
+
+       * config/mips/mips.h (NO_PROFILE_COUNTERS): Define.
+
+2005-02-28  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/20245
+       * c-parser.c (c_parser_compound_statement): Return error_mark_node
+       instead of NULL_TREE on error.
+
+2005-02-28  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (EASY_VECTOR_15): Remove.
+       (EASY_VECTOR_15_ADD_SELF): Remove.
+       (num_insns_constant_wide): Not static.
+       (validate_condition_mode): Not static.
+       (toc_relative_expr_p): Not static.
+       (legitimate_indirect_address_p): Not static.
+       (macho_lo_sum_memory_operand): Not static.
+       (invalid_e500_subreg): Not static.
+       (easy_vector_same): Not static.
+       (easy_vector_splat_const): Not static.
+       (RS6000_SYMBOL_REF_TLS_P): Remove.
+       (any_operand): Delete.
+       (any_parallel_operand): Delete.
+       (count_register_operand): Delete.
+       (altivec_register_operand): Delete.
+       (xer_operand): Delete.
+       (s8bit_cint_operand): Delete.
+       (short_cint_operand): Delete.
+       (u_short_cint_operand): Delete.
+       (non_short_cint_operand): Delete.
+       (exact_log2_cint_operand): Delete.
+       (gpc_reg_operand): Delete.
+       (cc_reg_operand): Delete.
+       (cc_reg_not_cr0_operand): Delete.
+       (reg_or_short_operand): Delete.
+       (reg_or_neg_short_operand): Delete.
+       (reg_or_aligned_short_operand): Delete.
+       (reg_or_u_short_operand): Delete.
+       (reg_or_cint_operand): Delete.
+       (reg_or_arith_cint_operand): Delete.
+       (reg_or_add_cint64_operand): Delete.
+       (reg_or_sub_cint64_operand): Delete.
+       (reg_or_logical_cint_operand): Delete.
+       (got_operand): Delete.
+       (got_no_const_operand): Delete.
+       (easy_fp_constant): Delete.
+       (easy_vector_constant): Delete.
+       (easy_vector_constant_add_self): Delete.
+       (zero_constant): Delete.
+       (zero_fp_constant): Delete.
+       (volatile_mem_operand): Delete.
+       (offsettable_mem_operand): Delete.
+       (mem_or_easy_const_operand): Delete.
+       (add_operand): Delete.
+       (non_add_cint_operand): Delete.
+       (logical_operand): Delete.
+       (non_logical_cint_operand): Delete.
+       (mask_operand): Delete.
+       (mask_operand_wrap): Delete.
+       (mask64_operand): Delete.
+       (mask64_2_operand): Delete.
+       (and64_operand): Delete.
+       (and64_2_operand): Delete.
+       (and_operand): Delete.
+       (reg_or_mem_operand): Delete.
+       (lwa_operand): Delete.
+       (symbol_ref_operand): Delete.
+       (call_operand): Delete.
+       (current_file_function_operand): Delete.
+       (input_operand): Delete.
+       (rs6000_nonimmediate_operand): Delete.
+       (rs6000_tls_symbol_ref): Delete.
+       (save_world_operation): Delete.
+       (restore_world_operation): Delete.
+       (load_multiple_operation): Delete.
+       (store_multiple_operation): Delete.
+       (vrsave_operation): Delete.
+       (mfcr_operation): Delete.
+       (mtcrf_operation): Delete.
+       (lmw_operation): Delete.
+       (stmw_operation): Delete.
+       (branch_comparison_operator): Delete.
+       (branch_positive_comparison_operator): Delete.
+       (scc_comparison_operator): Delete.
+       (trap_comparison_operator): Delete.
+       (boolean_operator): Delete.
+       (boolean_or_operator): Delete.
+       (min_max_operator): Delete.
+       * config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Move to here.
+       (EASY_VECTOR_15): Moved to here.
+       (EASY_VECTOR_15_ADD_SELF): Move to here.
+       (PREDICATE_CODES): Delete.
+       * config/rs6000/rs6000-protos.h: Delete predicate functions.
+       Declare functions no longer static.
+       * config/rs6000/predicates.md: New.
+       * config/rs6000/rs6000.md: Include predicates.md
+
+2005-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * calls.c (emit_call_1): Don't use  REG_ALWAYS_RETURN.
+       (emit_library_call_value_1): Don't use LCT_ALWAYS_RETURN and
+       REG_ALWAYS_RETURN.
+       * cfgrtl.c (need_fake_edge_p): Likewise.
+       * combine.c (distribute_notes): Likewise.
+       * emit-rtl.c (try_split): Likewise.
+       * recog.c (peephole2_opimize): Likewise.
+       * reg-notes.def (ALWAYS_RETURN): Remove.
+       * rtl.h (LCT_ALWAYS_RETURN): Remove.
+       * tree-cfg.c (need_fake_edge_p): Don't use ECF_ALWAYS_RETURN.
+       * tree.h (ECF_ALWAYS_RETURN): Remove.
+
+2005-02-28  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/19874
+       * tree-ssa.c (tree_ssa_useless_type_conversion_1): A conversion
+       between different machine modes is never a "useless" conversion.
+
+2005-02-28  Geert Bosch  <bosch@gnat.com>
+
+       PR ada/15977
+       * doc/contrib.texi: List contributors for Ada front end
+
+2005-02-28 Paolo Bonzini <bonzini@gnu.org>
+
+       * simplify-rtx.c (simplify_unary_operation_1,
+       simplify_const_unary_operation): New, extracted from...
+       (simplify_unary_operation): ... this one.
+       (simplify_binary_operation_1,
+       simplify_const_binary_operation): New, extracted from...
+       (simplify_binary_operation): ... this one.
+       * rtl.h (simplify_const_unary_operation,
+       simplify_const_binary_operation): Add prototypes.
+
+2005-02-28  Julian Brown  <julian@codesourcery.com>
+
+       * config/elfos.h: Revert my patch from 2005-02-25 since it broke
+       building libjava and caused PR regression/20228.
+
+2005-02-28  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR bootstrap/17383
+       * Makefile.in (host_subdir): New.
+       (build_objdir): New.  Replace ../$(build_subdir) with it throughout.
+       * configure: Regenerate.
+
+2005-02-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpux
+       * config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the
+       installation directory first.
+
+2005-02-28  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/19065.
+       * config/cris/cris.h (EXTRA_CONSTRAINT_Q): Accept only (mem (reg)),
+       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")
+       ("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3")
+       ("addhi3", "addqi3", "subsi3", "subhi3", "subqi3")
+       ("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")
+       ("*andqi_lowpart", "iorsi3", "iorhi3", "iorqi3", "uminsi3"):
+       Insert spaces in constraints to align alternatives vertically for
+       readability.
+       ("cmphi"): Ditto.  Add separate alternative for operand 0 "Q>",
+       operand 1: "M".
+
+2005-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR rtl-optimization/17728
+       * pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
+       operand 0 from general_operand to move_dest_operand.
+
+2005-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa/elf.h, pa/som.h (ASM_OUTPUT_EXTERNAL): Use assemble_name_raw
+       instead of trying to save and restore TREE_SYMBOL_REFERENCED.
+       * pa/pa64-hpux.h (ASM_OUTPUT_TYPE_DIRECTIVE): Define.
+       (ASM_OUTPUT_EXTERNAL): Don't save and restore TREE_SYMBOL_REFERENCED.
+
+2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.ac: Rename cc_for_cross_gnattools to host_cc_for_libada.
+       * configure: Regenerate.
+       * libada-mk.in: Remove CC; rename
+       cc_for_cross_gnattools / cc_set_by_configure to host_cc_for_libada.
+
+2005-02-26  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/20188
+       * tree-ssa-alias.c (count_uses_and_derefs): If we have TREE_LIST
+       for the lhs, also walk over the tree.  Likewise for rhs.
+
+2005-02-26  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-dom.c (simple_iv_increment_p): New function.
+       (simplify_rhs_and_lookup_avail_expr, eliminate_redundant_computations):
+       Do not propagate value of iv before increment over the increment.
+
+2005-02-25  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * c-parser.c: New file.
+       * c-parse.in: Remove.
+       * Makefile.in (c-parse.o-warn, c-parse.o, c-parse.c, c-parse.y):
+       Remove.
+       (c-parser.o): Add dependencies.
+       (C_AND_OBJC_OBJC, C_OBJS, gcc.srcextra, GTFILES, distclean,
+       maintainer-clean, TAGS): Update.
+       * c-config-lang.in (gtfiles): Update.
+       * gengtype-lex.l: Don't handle "@@".
+       * stub-objc.c (objc_get_class_ivars, objc_build_throw_stmt,
+       objc_build_synchronized, objc_begin_try_stmt,
+       objc_begin_catch_clause, objc_finish_catch_clause,
+       objc_build_finally_clause, objc_finish_try_stmt): New.
+       * c-tree.h (struct c_declspecs): Add declspecs_seen_p and
+       type_seen_p.
+       (c_parse_init): Update comment.
+       * c-decl.c (c_init_decl_processing): Update comment.
+       (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
+       declspecs_add_scspec, declspecs_add_attrs): Initialize and update
+       new c_declspecs members.
+
+2005-02-25  Julian Brown  <julian@codesourcery.com>
+
+       * config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
+       from being used for symbols with vague linkage when
+       HAVE_GAS_COMDAT_GROUP is true.
+
+2005-02-25  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/include/gcc-common.texi (version-GCC): Update to 4.1.
+
+2005-02-25  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/19930
+       * doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document.
+       (LIBGCC2_HAS_DF_MODE): New.
+       (LIBGCC2_HAS_XF_MODE): New.
+       (LIBGCC2_HAS_TF_MODE): New.
+       * libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
+       (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
+       * libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
+       (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
+       (LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE.
+       * config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat
+       and add _fixtfdi, _fixunstfdi, _floatditf
+       * lib1funcs.asm: Remove L__compat. Add L_fixtfdi,
+       L_fixunstfdi, L_floatditf.
+       * config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define.
+       (LIBGCC2_HAS_TF_MODE): Define.
+
+2005-02-25  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/20204
+       * tree-into-ssa.c (insert_phi_nodes_for): Do not use
+       REWRITE_THIS_STMT markers on PHI nodes.
+       (rewrite_initialize_block): Likewise.
+
+2005-02-25  Mark Mitchell  <mark@codesourcery.com>
+
+       * version.c (version_string): Update to 4.1.
+
+2005-02-25  Paolo Carlini  <pcarlini@suse.de>
+
+       * doc/extend.texi (5.24 Declaring Attributes of Functions)<noreturn>:
+       Clarify that the alternative way doesn't work in GNU C++.
+
+2005-02-25  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/19937
+       * tree-ssa-loop-ivopts.c (rewrite_use_compare): Cast the final value
+       to the type of the induction variable.
+
+2005-02-25  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR rtl-optimization/20117
+       * bb-reorder.c (duplicate_computed_gotos): Don't duplicate
+       the block including noncopyable insn.
+
+2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (delete_trivially_dead_insns): Speed up by minimizing
+       calls to find_reg_note.
+
+2005-02-24  Richard Henderson  <rth@redhat.com>
+
+       PR tree-opt/20127
+       * tree-sra.c (instantiate_element): Copy TREE_THIS_VOLATILE from
+       the type.
+
+2005-02-24  Fariborz Jahanian <fjahanian@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Check for
+       vector types if to use base reg for misaligned non-word ld/std.
+
+2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/14619
+       * config/cris/cris.c (cris_target_asm_function_prologue): Create
+       dwarf2 label manually and put it after, not before the prologue.
+
+2005-02-24  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/19019
+       * reload.c (operands_match_p): Only increment register number for
+       SCALAR_INT_MODE_P modes in multiple hard registers.
+
+       * config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
+       Fix formatting.
+
+2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * ChangeLog.5: Fix log message typo(s).
+       * ChangeLog.7: Likewise.
+       * ChangeLog.tree-ssa: Likewise.
+       * cfgexpand.c: Fix comment typo(s).
+       * conflict.c: Likewise.
+       * defaults.h: Likewise.
+       * dwarf2out.c: Likewise.
+       * gcse.c: Likewise.
+       * ggc-page.c: Likewise.
+       * tree-eh.c: Likewise.
+       * tree-ssa-dom.c: Likewise.
+
+2005-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/19019
+       * mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects.
+       * config/rs6000/darwin-ldouble.c: Only use the .symver directives
+       if SHARED is defined.
+
+       PR target/20196
+       * config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber,
+       allow splitting only if operands 0 and 3 don't overlap.
+
+2005-02-24  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/19953
+       * builtins.c (fold_builtin_complex_mul, fold_builtin_complex_div): New.
+       (fold_builtin_1): Call them.
+       * fold-const.c (fold_complex_mult_parts): Split out from ...
+       (fold_complex_mult): ... here.  Fix typo in both imaginary case.
+       (fold_complex_div_parts, fold_complex_div): New.
+       (fold): Use them.
+       * tree.h (fold_complex_mult_parts, fold_complex_div_parts): Declare.
+
+2005-02-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * tree-ssa-ccp.c (visit_assignment): Verify that result of
+       VIEW_CONVERT_EXPR is_gimple_min_invariant.
+
+       * print-tree.c (print_node_brief): Print LABEL_DECL_UID.
+       (print_node): Likewise.
+       Print TYPE_SIZES_GIMPLIFIED.
+
+2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md ("umulhisi3", "umulqihi3", "mulsi3")
+       ("mulqihi3", "mulhisi3", "mulsidi3", "umulsidi3"): Mark input
+       operands as commutative in constraints.
+
+2005-02-24  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-into-ssa.c: Re-organize internal functions.
+
+2005-02-24  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/18902
+       * c-opts.c (c_common_post_options): Set flag_complex_method to 2
+       for c99.
+       * common.opt (fcx-limited-range): New.
+       * opts.c (set_fast_math_flags): Set flag_cx_limited_range.
+       * toplev.c (flag_complex_method): Initialize to 1.
+       (process_options): Set flag_complex_method to 0 if
+       flag_cx_limited_range.
+       * doc/invoke.texi (-fcx-limited-range): New.
+
+2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (delete_trivially_dead_insns): Speed up by using
+       NEXT_INSN and PREV_INSN directly instead of next_real_insn and
+       prev_real_insn.
+
+2005-02-24  Andrea Tarani  <andrea.tarani@gilbarco.com>
+
+       * config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf
+       functions when -mid-shared-library is being used.
+
+2005-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove.
+       (LINK_LIBGCC_SPECIAL_1): Don't mention it.
+       * gcc.c: Don't check for LINK_LIBGCC_SPECIAL.
+       * system.h: Poison LINK_LIBGCC_SPECIAL.
+
+2005-02-23  James E Wilson  <wilson@specifixinc.com>
+
+       * gengtype.c (note_insn_name): Make 1 element larger.
+
+2005-02-23  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/20018
+       PR rtl-optimization/20097
+       * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
+       BImode SUBREGs of SImode registers which confuse the ia64 backend.
+
+2005-02-23  David Edelsohn  <edelsohn@gnu.org>
+
+       * t-aix43 (SHLIB_INSTALL): Create directory for shared library.
+       * t-aix52 (SHLIB_INSTALL): Same.
+
+2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * genpreds.c: Update copyright.
+
+2005-02-23  Michael Beach  <michaelb@ieee.org>
+
+       PR target/20159
+       * config/sparc/t-elf (startup files): Assemble with CPP.
+
+2005-02-23  Paolo Bonzini  <bonzini@gnu.org>
+
+       * genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands.
+       (write_predicate_expr): Likewise.
+
+2005-02-22  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/20100
+       PR tree-optimization/20115
+       * tree-optimize.c (init_tree_optimization_passes): Remove
+       pass_maybe_create_global_var.
+       * tree-pass.h (pass_maybe_create_global_var): Remove.
+       * tree-ssa-alias.c (aliases_computed_p): Declare.
+       (struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND.
+       (count_calls_and_maybe_create_global_var): Remove.
+       (pass_maybe_create_global_var): Remove.
+       (init_alias_info): Do not declare aliases_computed_p.
+       (maybe_create_global_var): If the function contains no
+       call-clobbered variables and a mix of pure/const and regular
+       function calls, create .GLOBAL_VAR.
+       Mark all call-clobbered variables for renaming.
+       (merge_pointed_to_info): Update comment.
+       (add_pointed_to_var): Likewise.
+       (is_escape_site): Likewise.
+       Accept struct alias_info * instead of size_t *.
+       Update all users.
+       Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND
+       as necessary.
+       * tree-ssa-operands.c (get_call_expr_operands): If
+       ALIASES_COMPUTED_P is false, do not add call-clobbering
+       operands.
+       * tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false.
+       (delete_tree_ssa): Likewise.
+
+2005-02-22  James E Wilson  <wilson@specifixinc.com>
+
+       * toplev.c (backend_init): Don't call init_adjust_machine_modes here.
+       (do_compile): Do call it here.
+
+2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR rtl-optimization/20017.
+       * passes.c (rest_of_handle_combine, rest_of_handle_cse,
+       rest_of_handle_cse2, rest_of_handle_gcse): Call
+       delete_dead_jumptables immediately before calling cleanup_cfg.
+
+2005-02-22  Devang Patel  <dpatel@apple.com>
+
+       PR 19952
+       * tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip
+       all labels
+
+2005-02-22  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/aix.h (WINT_TYPE): Define.
+
+2005-02-22  Stan Shebs  <shebs@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Default to
+       natural alignment for 64-bit Darwin.
+       (rs6000_parse_alignment_option): Warn about uses of -malign-power
+       on 64-bit Darwin.
+       * doc/invoke.texi: Document this.
+
+2005-02-22  DJ Delorie  <dj@redhat.com>
+
+       * c-common.c (c_common_type_for_mode): Pass the mode's precision
+       to make_[un]signed_type, not the mode itself.
+
+2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfg.c (cached_make_edge): Call make_edge if edge cache is
+       not available.  Use tail calls wherever possible.
+       (make_edge): Call unchecked_make_edge to create an edge.
+
+       * tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove.
+       (coalesce_ssa_name): Don't check for
+       SSANORM_USE_COALESCE_LIST.
+       (rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST.
+
+2005-02-22  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-into-ssa.c (rewrite_blocks): Move debug dumps from ...
+       (rewrite_into_ssa): ... here.
+
+2005-02-21  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR tree-optimization/19786
+       * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one
+       tag to another's may-alias bitmap when adding to the other's list.
+
+2005-02-21  DJ Delorie  <dj@redhat.com>
+
+       * tree-ssa-loop-ivopts.c (computation_cost): Start register
+       numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard
+       registers in unsupported ways.
+       * expmed.c (init_expmed): Likewise.
+
+2005-02-21  Stan Cox  <scox@redhat.com>
+
+       * config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.
+
+2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (fold_cond_expr_cond): New.
+       (make_edges): Call fold_cond_expr_cond.
+       (find_taken_edge): Accept nothing but INTEGER_CST.
+       (find_taken_edge_cond_expr): Reject INTEGER_CST other than 0
+       and 1.
+       (find_taken_edge_switch_expr): Remove a check for INTEGER_CST.
+
+       * flow.c (delete_dead_jumptables): Speed up by scanning insns
+       that do not belong to any basic block.
+
+2005-02-21  Jeff Law  <law@redhat.com>
+
+       * cfganal.c (find_unreachable_blocks): Manually CSE load of
+       e->dest.
+
+2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.
+       (SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST):
+       Adjust their definitions.
+       (remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS.
+       (rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS.
+
+       * c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
+       genautomata.c, langhooks.c, langhooks.h, system.h,
+       config/arm/lib1funcs.asm: Update copyright.
+
+2005-02-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * dbxout.c (dbxout_function_end): Emit Lscope label always.
+
+2005-02-21  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       PR bootstrap/13770
+       * doc/install.texi: Document --with-gc.
+
+2005-02-21  Paolo Bonzini  <bonzini@gnu.org>
+
+       * simplify-rtx.c (simplify_unary_operation): Add a missing
+       "break" statement.
+
+2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR tree-optimization/18663
+       * tree-ssa-dom.c (extract_range_from_cond): Return 0
+       if the type has variable bounds.
+
+2005-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * gcse.c: Remove an obsolete comment.
+
+       * cse.c (init_cse_reg_info): Use xmalloc instead of xrealloc.
+
+2005-02-20  Hans-Peter Nilsson  <hp@axis.com>
+
+       * doc/extend.texi (Function Attributes) <Attribute const>: The
+       attribute "pure" is below this text, not above.
+
 2005-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        * pa.c (pa_assemble_integer, get_plabel): Small cleanups.