+2004-04-20 Paolo Bonzini <bonzini@gnu.org>
+
+ Revert part of 2004-04-17 change that moved -frename-registers
+ to -O1. -frename-registers is buggy.
+
+ * toplev.c (flag_rename_registers): Initialize to 0.
+ * doc/invoke.texi (Optimize options): Move -frename-registers
+ to "Not triggered by any -O level" section. Adjust commentary
+ accordingly.
+
+2004-04-20 Anil Paranjpe <anilp1@kpitcummins.com>
+
+ * toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
+
+2004-04-20 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_legitimize_move): Generate special patterns
+ for mflo and mfhi instructions.
+ (mips_output_move): Remove mflo and mfhi handling.
+ * config/mips/mips.md (UNSPEC_MFHILO): New unspec.
+ (*mulsidi3_64bit): Update for new mfhi/mflo representation.
+ Likewise various define_peephole2s.
+ (*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
+ alternatives.
+ (*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
+ (*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
+ (mfhilo_di, mfhilo_si): New patterns.
+
+2004-04-20 Josef Zlomek <zlomekj@suse.cz>
+
+ * function.c (assign_parms): Force
+ MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
+
+2004-04-20 Josef Zlomek <zlomekj@suse.cz>
+
+ * var-tracking.c (variable_part_different_p): Variable parts differ
+ when the most recent locations differ.
+
+2004-04-19 James E Wilson <wilson@specifixinc.com>
+
+ * rtl.h (reg_set_last): Delete declaration.
+ * rtlanal.c (reg_set_last): Delete.
+
+2004-04-19 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_convert): Make function extern/public.
+ * tree.h (fold_convert): Prototype here.
+ * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
+ expand_builtin_strrchr, expand_builtin_strpbrk,
+ expand_builtin_mempcpy, expand_builtin_bcopy,
+ expand_builtin_bzero, expand_builtin_memcmp,
+ expand_builtin_strcmp, expand_builtin_strncmp,
+ stabilize_va_list, expand_builtin_sprintf,
+ fold_trunc_transparent_mathfn, fold_builtin_logarithm,
+ fold_builtin_exponent, fold_builtin_mempcpy,
+ fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
+ fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
+ fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
+
+2004-04-19 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
+ (move_from_CR_gt_bit): New.
+ (cceq_ior_compare): Name previously unnamed pattern. Disable for
+ E500.
+ (cceq_rev_compare): Name previously unnamed pattern. Allow for
+ E500.
+
+ * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
+ (tstsfeq_gpr): Same.
+ (cmpsfgt_gpr): Same.
+ (tstsfgt_gpr): Same.
+ (cmpsflt_gpr): Same.
+ (tstsflt_gpr): Same.
+ (e500_cceq_ior_compare): New.
+ (e500_flip_gt_bit): New.
+
+ * config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
+ (print_operand): Add 'c' and 'D'.
+ (rs6000_generate_compare): Rewrite to generate correct rtl.
+ (rs6000_emit_sCOND): Handle E500.
+ (output_cbranch): Adjust for changes in rs6000_generate_compare.
+ (output_e500_flip_gt_bit): New.
+
+ * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
+ Protoize.
+
+2004-04-19 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.h (DWARF2_ADDR_SIZE): New.
+
+2004-04-19 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
+ fix information.
+
+2004-04-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
+ download URL.
+
+2004-04-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * stor-layout.c (layout_decl): Check DECL_PACKED before calling
+ ADJUST_FIELD_ALIGN. Check maximum_field_alignment after.
+
+2004-04-19 Andrew PInski <pinskia@physics.uc.edu>
+
+ * builtins.c (fold_builtin_cabs): Remove fndecl parameter.
+ (fold_builtin): Update caller to match.
+
+ PR bootstrap/15009
+ * bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
+
+ PR bootstrap/14999
+ * builtins.c (fold_builtin_cabs): Mark fndecl as unused.
+
+2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
+
+ * expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
+ (expand_mult_highpart_optab): Likewise.
+ (expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
+
+2004-04-19 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
+ floatunssisf2, floatunssidf2): New patterns.
+
+2004-04-18 Mark Mitchell <mark@codesourcery.com>
+
+ PR other/14918
+ * doc/invoke.texi (-fprofile-generate): Document requirement to
+ use -fprofile-generate when linking.
+
+ * doc/extend.texi (Strong Using): Warn users against using this
+ feature.
+
+2004-04-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
+ * config/mips/mips.h (mips_entry, mips_string_length): Delete.
+ (CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
+ * config/mips/mips.c (struct mips16_constant): Renamed from struct
+ constant. Propogate change throughout file.
+ (struct machine_function): Remove insns_len.
+ (mips_string_length, mips16_strings, string_constants): Delete.
+ (mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
+ when generating mips16 code. Remove special mips16 treatment of
+ string constants.
+ (mips_symbolic_constant_p): Allow mips16 constant pool accesses
+ to have the form LABEL+CONSTANT.
+ (mips_symbolic_address_p): Fix comment.
+ (m16_usym8_4, m16_usym5_4): Delete.
+ (mips_output_function_epilogue): Remove mips16 string handling.
+ (mips_output_mi_thunk): Call mips16_lay_out_constants.
+ (mips_select_section, mips_encode_section_info): Remove mips16
+ string handling.
+ (struct mips16_constant_pool): New.
+ (add_constant): Take a mips16_constant_pool structure. Keep pool
+ sorted into order of ascending mode size. Keep track of the highest
+ possible start address, taking padding and the masking of the base PC
+ value into account.
+ (dump_constants_1): New function, split out from dump_constants.
+ Handle vector constants. Use gen_consttable_{int,float} rather than
+ separate functions for each mode.
+ (dump_constants): Simplify. Use GET_MODE_ALIGNMENT. Use gen_align
+ rather than separate functions for each alignment.
+ (mips_find_symbol): Delete.
+ (mips16_insn_length): New function, split out from
+ mips16_lay_out_constants.
+ (mips16_rewrite_pool_refs): New function.
+ (mips16_lay_out_constants): Rework. Remove string handling.
+ Always create an inline constant pool.
+ * config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
+ (UNSPEC_ALIGN): New constants.
+ (UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
+ (UNSPEC_ALIGN_[248]): Delete.
+ (consttable_int, consttable_float, align): New patterns.
+ (consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
+
+2004-04-17 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/altivec.h (vec_any_numeric): Correct typo in
+ __unn_args_eq.
+
+2004-04-17 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/14715
+ * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
+ with STARTING_FRAME_OFFSET.
+
+2004-04-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
+ * config/mips/mips.c (macc_msac_operand): New function.
+ * config/mips/mips.md (*msac): Move after *macc.
+ (*msac2): New. Generalize macc-related peepholes so that they apply
+ to msac too.
+
+2004-04-17 Paolo Bonzini <bonzini@gnu.org>
+
+ * opts.c (decode_options): Do not enable flag_rename_registers
+ and flag_web at -O3.
+ * toplev.c (flag_rename_registers): Initialize
+ flag_rename_registers and flag_web to
+ AUTODETECT_FLAG_VAR_TRACKING.
+ (default_debug_hooks): New global.
+ (process_options): Initialize default_debug_hooks. Warn if
+ -fvar-tracking specified but not supported by the current
+ debug format. Do not run var tracking at -O0 or if not
+ supported by the current debug format, even if
+ -fvar-tracking was given. If -fno-rename-registers
+ is not specified, always run register renaming if var
+ tracking is supported by the default debugging information
+ format for the target, and we are at -O1 or higher; similarly
+ for -fweb, but only at -O2 or higher.
+ * doc/invoke.texi (Optimize Options): Document this.
+
+2004-04-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
+ * configure: Regenerate.
+
+2004-04-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * gcc.c (used_arg): Check whether an option has been removed.
+
+2004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
+ debugging on Solaris 7 and up.
+
+2004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
+ IRIX 5 port.
+ Remove -save-temps workaround, handled automatically.
+ Require GNU binutils 2.15 for debugging.
+ Remove SGI make warnings since GNU make is now required.
+ (Specific, mips-sgi-irix6): Some markup fixes.
+ Describe MIPSpro C problems and workarounds.
+ Mention working O32 ABI support.
+ Recommend GNU as 2.15 for O32 with debugging.
+ Remove description of fixed structure pass/return bug.
+
+2004-04-16 DJ Delorie <dj@redhat.com>
+
+ * sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
+ TYPE_FIELDS.
+ (sdbout_finish): Don't free deferred_global_decls; it's GC'd.
+
2004-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+ * pa.md: Remove unnecessary declarations for asm_out_file.
+
* pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
SAR register. Fix comment.
(ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register