OSDN Git Service

* gcc/doc/install.texi (*-*-freebsd*): Update target information.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7334938..874089d 100644 (file)
+2004-03-02  Loren James Rittle  <ljrittle@acm.org>
+
+       * gcc/doc/install.texi (*-*-freebsd*): Update target information.
+
+2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * rtl.def (define_combine): Remove.
+
+2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md: Tweak formatting.
+
+2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*cmphi_h8300): Rename to
+       *cmphi_h8300_znvc.
+       (*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc.
+
+2004-03-01  Mark Mitchell  <mark@codesourcery.com>
+
+       PR bootstrap/14356
+       * gcc.c (process_command): Remove const-qualification from argv.
+       (main): Likewise.
+
+2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (pushqi1_h8300hs): Rename to
+       pushqi1_h8300hs_advanced.  Adjust its caller.
+       (pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced.
+       Adjust its caller.
+
+2004-03-02  Nicolas Roche  <roche@act-europe.fr>
+
+       * Makefile.in (install-libgcc, install-multilib): Pass
+       mkinstalldirs var to libgcc.mk.
+
+2004-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
+       * doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.
+
+2004-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (gtle_operator): Accept GT and LE.
+       * config/h8300/h8300.md: Split several peephole2's, each into
+       two.
+
+2004-03-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * dominance.c (recount_dominator): Handle postdominators.
+
+2004-03-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h.
+       (NUM_SYMBOL_TYPES): Likewise.
+       (SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types.
+       (mips_unspec_address): Declare.
+       (mips_gotoff_page, mips_gotoff_global): Delete.
+       * config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand.
+       * config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete.
+       (mips_symbolic_constant_p, mips_symbolic_address_p)
+       (mips_symbol_insns): Handle new symbol types.
+       (general_symbolic_operand): New predicate.
+       (mips_unspec_address): Make extern.
+       (mips_gotoff_page, mips_gotoff_global): Delete.
+       (override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs.
+       Handle new symbol types.
+       * config/mips/mips.md (*lea_high64, *lea64): New patterns.
+       (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call
+       mips_unspec_address directly.
+       * doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from
+       the documentation of -mexplicit-relocs.
+
+2004-03-01  Jeff Law  <law@redhat.com>
+
+       * fold-const.c (fold): An equality comparison of a non-weak object
+       against zero has a known result.  Similarly an equality comparison
+       of the address of two non-weak, unaliased symbols has a known result.
+       * ggc-page.c (struct page_entry): New field PREV.
+       (ggc_alloc): Update PREV field appropriately.
+       (sweep_pages): Likewise.
+       (ggc_free): Likewise.  Use PREV field rather than loop to
+       improve ggc_free performance.
+2004-03-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_output_division): Use the division
+       instruction to fill the delay slot of a zero check.
+       (mips_idiv_insns): Adjust accordingly.
+
+2004-03-01  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc: Create a default tmake_file for linux, and use
+       it in all but two linux clauses.  Comment those two.
+
+2004-03-01  Paolo Bonzini  <bonzini@gnu.org>
+
+       * combine.c (try_combine):  Do not refer to is_replaced.
+       (gen_lowpart_for_combine):  Perverse subregs now have a
+       more politically correct name.
+       * cse.c (cse_insn): Likewise.
+       * jump.c: Fix bogus reference to delete_insn.
+
+2004-02-29  Mark Mitchell  <mark@codesourcery.com>
+
+       PR debug/14328
+       * dwarf2out.c (gen_enumeration_type_die): Output all enumeration
+       constants as signed values.
+
+       PR middle-end/13448
+       * c-tree.h (readonly_warning): Rename to ...
+       (readonly_error): ... this.
+       * c-typeck.c (build_unary_op): Adjust accordingly.
+       (readonly_warning): Rename to ...
+       (readonly_error): ... this and issue errors, not warnings.
+       (build_modify_expr): Call readonly_error, not readonly_warning.
+       (c_expand_asm_operands): Likewise.
+       * tree-inline.c (optimize_inline_calls): Do not inline functions
+       after errors have occurred.
+
+2004-02-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.ac: Rearrange some threading code for clarity;
+       add section comment.
+       * configure: Regenerate.
+
+2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment
+       typos.
+       * doc/cppopts.texi: Fix a typo.
+
+2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/i386/i386.md: Fix formatting.
+
+2004-02-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.ac: Add some comments delineating sections of code.
+
+       * doc/install.texi: Note that libada uses autoconf 2.57 also.
+
+       * doc/install.texi: Fix idiot typo in previous commit.
+
+       * doc/install.texi: Update for conversion of intl to autoconf 2.57.
+
+2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md: Add comments about peephole2's.
+
+2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md: Tweak operand numbers of some
+       peephole2's.
+
+2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md: Tweak comments about peephole2's.
+
+2004-02-29  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
+
+       PR middle-end/14203
+       * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
+       instead of testing whether DECL_RTL is not NULL.
+
+2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/sh/sh.c: Fix formatting.
+
+2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/sh/sh.c: Convert to ISO-C.
+
+2004-02-28  Andrew Pinski  <pinskia@physics.uc.edu>
+       
+       * c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in
+       my previous patch.
+
+       * config/darwin.h (machopic_finish): Output stub even if the
+       symbol is already defined.
+
+2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
+
+2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * genattr.c (main): Don't define
+       TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
+       * system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
+       (DFA_PIPELINE_INTERFACE): Likewise.
+       * doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
+       (DFA_PIPELINE_INTERFACE): Likewise.
+
+2004-02-28  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (tstsi, tstdi): Delete.
+
+2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+       * config/mips/mips.c (override_options): Remove an obsolete 
+       duplicate definition of the "e" constraint.
+       * config/mips/mips.h: Update a comment accordingly.
+
+2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+       * config/mips/mips.md: Complete the unfinished R4000
+       multiply/shift errata workaround.  Improve documentation.
+       (hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
+       has a hilo hazard.
+       (mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
+       (muldi3, muldi3_internal): Likewise.
+       (muldi3_internal2): Remove, replacing with...
+       (muldi3_mult3, muldi3_r4000): ...these new patterns.
+       (mulsidi3): Take the errata into account.
+       (mulsidi3_32bit): Remove, replacing with...
+       (mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
+       (mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
+       (umulsidi3): Take the errata into account.
+       (umulsidi3_32bit): Remove, replacing with..
+       (umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
+       (umulsi3_highpart, umulsi3_highpart_internal): Disable if
+       TARGET_FIX_R4000.
+       (smulsi3_highpart, smulsi3_highpart_internal): Likewise.
+       (smuldi3_highpart, umuldi3_highpart): Likewise.
+       * doc/invoke.texi: Document the errata workaround.
+
+2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+       * config/mips/mips-protos.h (mips_idiv_insns): Declare.
+       * config/mips/mips.h (MASK_FIX_SB1): Bump.
+       (MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
+       (TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
+       * config/mips/mips.c (mips_idiv_insns): New function.
+       (override_options): Make -march=r4000 imply -mfix-r4000 by default.
+       (mips_output_division): Add a workaround for the R4000 divide/shift
+       errata.
+       * config/mips/mips.md (length): Use mips_idiv_insns() to calculate
+       the length of an "idiv" instruction.
+       * doc/invoke.texi: Document the new switches.
+
+2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to
+       TARGET_SCHED_IS_COSTLY_DEPENDENCE.
+
+2004-02-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR optimization/14229
+       * cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump.
+
+2004-02-28  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * fold-const.c (fold): Strip NOPs that change the signedness
+       for RSHIFT too.  Expand comment.
+
+2004-02-27  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       PR optimization/7871
+       * flow.c (mark_set_1): Don't add LOG_LINKS for global registers
+       from or to call insns.
+
+2004-02-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/7871
+       * flow.c (propagate_one_insn): Interpret calls as setting global
+       registers, not merely clobbering them.
+
+2004-02-27  Dale Johannesen  <dalej@apple.com>
+
+       * config/darwin.c (machopic_output_possible_stub_label):  Remove.
+       config/darwin-protos.h:  Ditto.
+       config/darwin.h:  Remove call to it.
+       * combine.c (distribute_notes): Do not place a REG_DEAD note
+       when value is both set and used.
+
+2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
+       as well.
+       * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
+       * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
+
+2004-02-27  Andrew Pinski  <apinski@apple.com>
+
+       * c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>:
+       Speedup common case of the type values being in the same order.
+
+2004-02-27  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.h (no-inline-float-divide): New option.
+       * config/ia64/ia64.h (no-inline-int-divide): New option.
+       * config/ia64/ia64.h (no-inline-sqrt): New option.
+       (TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define.
+       * config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
+       * config/ia64/ia64.c (ia64_override_options): Modify error
+       checking for inlined division/sqrt.
+
+2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c,
+       ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c,
+       value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h,
+       config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update
+       copyright.
+
+2004-02-27  Paul Brook  <paul@codesourcery.com>
+
+       * function.c (assign_parms): Don't count pretend args for alignment.
+
+2004-02-27  Richard Henderson  <rth@redhat.com>
+
+       * passes.c: New file.
+       * Makefile.in (OBJS-common): Add it.
+       * diagnostic.c (rtl_dump_and_exit): Move decl ...
+       * flags.h (rtl_dump_and_exit): ... here.
+       * output.h (size_directive_output, last_assemble_variable_decl): 
+       Move from toplev.c.
+       * rtl.h (reg_alloc): Move from toplev.c.
+       * toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT,
+       struct dump_file_info, enum dump_file_index, dump_file_tbl,
+       open_dump_file, close_dump_file, rest_of_decl_compilation,
+       rest_of_type_compilation, rest_of_handle_final,
+       rest_of_handle_delay_slots, rest_of_handle_stack_regs, 
+       rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
+       rest_of_handle_new_regalloc, rest_of_handle_old_regalloc,
+       rest_of_handle_regrename, rest_of_handle_reorder_blocks,
+       rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove,
+       rest_of_handle_tracer, rest_of_handle_if_conversion, 
+       rest_of_handle_if_after_combine, rest_of_handle_web,
+       rest_of_handle_branch_prob,
+       rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
+       rest_of_handle_addressof, rest_of_handle_sibling_calls, 
+       rest_of_handle_jump_bypass, rest_of_handle_inlining,
+       rest_of_handle_null_pointer, rest_of_handle_combine,
+       rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
+       rest_of_handle_gcse, rest_of_handle_loop_optimize, 
+       rest_of_handle_loop2, rest_of_compilation): Move to passes.c.
+       (decode_d_option): Use enable_rtl_dump_file.
+       (compile_file, finalize, do_compile): Move profile+combine+graph
+       cleanup to finish_optimization_passes.
+       * toplev.h (init_optimization_passes, finish_optimization_passes,
+       enable_rtl_dump_file): Declare.
+
+2004-02-27  Eric Botcazou  <ebotcazou@act-europe.fr>
+            Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold): Revert 2004-02-25 change.  Use the original
+       operands to build a tree with swapped operands.
+       * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
+       'unsignedp' predicate to specify the signedness.
+
+2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c,
+       expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c,
+       params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix
+       comment typos and formatting.  Follow spelling conventions.
+
+2004-02-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
+       fix_truncsfsi2.
+
+       * config/rs6000/spe.md: Delete spe_efsctuiz.
+       Add spe_fixuns_truncsfsi2.
+       Add spe_fix_truncsfsi2.
+2004-02-26  Eric Christopher  <echristo@redhat.com>
+
+       * c-lex.c (c_lex_string_translate): New variable.
+       (lex_string): Use to determine string translation.
+       * c-pragma.h: Prototype.
+       * c-parse.in (start_string_translation): New. Set above.
+       (stop_string_translation): Ditto.
+       (attribute, attribute_list, asm_def, asm_stmt,
+       asm_operand): Use above functions.
+       * cp/parser.c (cp_parser_declaration): Translate strings
+       unless token is RID_EXTERN. Set c_lex_string_translate
+       for recursive use.
+       (cp_parser_asm_definition): Only translate argument strings
+       to asms.
+       (cp_parser_asm_operand_list): Ditto.
+       (cp_parser_attribute_list): Do not translate attribute strings.
+
+2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stmt.c (expand_start_case_dummy): Remove.
+       * tree.h: Remove the corresponding prototype.
+
+2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * builtins.c (apply_args_register_offset): Remove.
+       * tree.h: Remove the corresponding prototype.
+
+2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stor-layout.c (is_pending_size): Remove.
+       * tree.h: Remove the corresponding prototype.
+
+2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * recog.c (validate_replace_src): Remove.
+       * recog.h: Remove the corresponding prototype.
+
+2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or
+       MAYBE_REG_PARM_STACK_SPACE.
+       * function.c: Likewise.
+       * system.h (FINAL_REG_PARM_STACK_SPACE): Poison.
+       (MAYBE_REG_PARM_STACK_SPACE): Likewise.
+       * doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove.
+       (MAYBE_REG_PARM_STACK_SPACE): Likewise.
+
+2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-decl.c (c_expand_deferred_function): Remove.
+       * c-tree.h: Remove the corresponding prototype.
+
+2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * postreload.c (reload_cse_move2add): Generate just a PLUS
+       instead of an entire SET.
+
+2004-02-26  Jan Hubicka  <jh@suse.cz>
+
+       * config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
+       /pentium4m.
+       * i386.c (override_options): Add support for new CPUs.
+       * i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
+       (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
+       constants.
+       * invoke.texi: Extend documentation of -mtune/-march for new CPUs.
+
+2004-02-26  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
+
+2004-02-26  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
+       (sparc_emit_fixunsdi): New prototype.
+       * config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
+       (sparc_emit_fixunsdi): New function.
+       * config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
+       operand 1.  Pass SFmode to sparc_emit_floatunsdi.
+       (floatunsdidf2): Use 'general_operand' for operand 1.  Pass DFmode
+       to sparc_emit_floatunsdi.
+       (fixuns_truncsfdi2): New expander.
+       (fixuns_truncdfdi2): Likewise.
+
+2004-02-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
+       unless HAVE_cc0.
+
+2004-02-25  Richard Henderson  <rth@redhat.com>
+
+       * explow.c (force_reg): Call mark_reg_pointer as appropriate.
+       * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
+       use (op0-op1) == 0 if op0 is a pointer.
+       * config/alpha/alpha.md (cmpdi): Use some_operand.
+       (three comparison combine splits): Remove.
+
+2004-02-25  Richard Henderson  <rth@redhat.com>
+
+       PR c/12794
+       * c-common.c (handle_alias_attribute): Reject the attribute if
+       current_function_decl is set.
+
+2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * config.gcc: Add comment describing extra_gcc_objs.
+       i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
+       * configure.ac (extra_gcc_objs): New substitution variable.
+       (host_extra_gcc_objs): Don't substitute.
+       * configure: Regenerate.
+       * Makefile.in: Use extra_gcc_objs.
+
+2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * doc/contrib.texi: Add an entry for myself.
+
+2004-02-25  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (make_eh_edge, break_superblocks): Declare.
+       * cfgbuild.c (make_eh_edge):  Make global.
+       * cfglayout.c (break_superblocks): Likewise; fix memory leak.
+       * except.c (build_post_landing_pads, connect_post_landing_pads,
+       dw2_build_landing_pads, sjlj_emit_function_enter,
+       sjlj_emit_function_exit, sjlj_emit_dispatch_table,
+       sjlj_build_landing_pads): Update CFG.
+       (emit_to_new_bb_before): New function.
+       (finish_eh_generation): Do not rebuild the CFG.
+
+2004-02-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
+       target_cpu_default defines.
+       * pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
+       * pa.h (TARGET_DEFAULT): Likewise.
+
+2004-02-25  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
+       comparisons with regard to signedness.
+
+2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (thumb_legitimize_address): New function.
+       * arm-protos.h: Prototype it.
+       * arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
+       (LEGITIMIZE_ADDRESS): Use it.
+
+2004-02-25  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * reload1.c (reload): Only spill eliminable register with multiple
+       adjacent elimination alternatives if all alternatives fail.
+
+2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_legitimate_index_p): For QImode the range of an offset
+       is -4095...+4095 inclusive.
+
+2004-02-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/install.texi (sparc-sun-solaris2* specific notes): Document
+       the bootstrap failure with Sun CC 5.4 and 5.5.
+
+2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (cse_change_cc_mode_insns): Stop at any instruction
+       which modifies NEWREG.
+       (cse_condition_code_reg): Update the mode of CC_REG in
+       CC_SRC_INSN on our own.
+
+2004-02-24  Michael Matz  <matz@suse.de>
+
+       * config/i386/i386.c (ix86_comp_type_attributes): Check for
+       regparm attributes.
+
+2004-02-24  Richard Henderson  <rth@redhat.com>
+
+       * toplev.c (dump_file_tbl): Rename from dump_file.
+       * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
+       cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
+       config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
+       config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
+       loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
+       ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
+       toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
+       s/rtl_dump_file/dump_file/g.
+
+2004-02-24  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
+        (spe_fixuns_truncsfsi2): Delete.
+
+        * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
+        (fixuns_truncsfsi2): Delete.
+
+2004-02-24  Josef Zlomek  <zlomekj@suse.cz>
+
+       PR/14240
+       * rtlanal.c (replace_label): Fix replacing labels in constant pool.
+
+2004-02-24  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin.h (TARGET_HAS_F_SETLKW): Define.
+
+2004-02-24  Jason Merrill  <jason@redhat.com>
+
+       * tree.c (check_qualified_type): New fn.
+       (get_qualified_type): Use it.  If type already has the desired
+       quals, just return it.
+       * tree.h: Declare it.
+
+2003-02-24  Sanjiv Kumar Gupta  <sanjivg@noida.hcltech.com>
+
+       * target-def.h (TARGET_SCHED_INIT_GLOBAL,
+       TARGET_SCHED_FINISH_GLOBAL): New macros.
+
+       * target.h (md_init_global, md_finish_global): Function
+       declarations corresponding to new target macros.
+
+       * haifa-sched.c (sched_init, sched_finish): Allow target to
+       call the new schedular hooks.
+
+       * flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
+       call to update_life_info.
+
+       * config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
+       flag_schedule_insns for SH4.
+
+       * config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
+       find_set_regmode_weight, find_insn_regmode_weight,
+       find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
+       sh_variable_issue, high_pressure, ready_reorder,
+       rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
+       functions used to throttle the insn movement in first
+       scheduling pass for SH.
+
+       * gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
+       TARGET_SCHED_FINISH_GLOBAL.
+
+2004-02-24  Alexandre Oliva  <aoliva@redhat.com>
+
+       Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
+       2004-02-05  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
+       symbols in sections named by the user.
+       2004-01-30  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
+       2004-01-27  Alexandre Oliva  <aoliva@redhat.com>
+       * config.gcc (frv-*-*linux*): Handle like *-*-linux*.
+       * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
+       the above.
+       2004-01-20  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
+       one more pseudo to further improve code generation.
+       2004-01-19  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.md (movdi_ldd): Introduce explicit indirection
+       inside UNSPEC.
+       2004-01-16  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.c (frv_legitimate_address_p): Added
+       allow_double_reg_p argument.  Adjust all callers.  Use it to
+       decide whether to enable double-register indirect addressing.
+       (frv_funcdesc_alias_set): Remove.
+       (frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
+       register.  Emit movdi_ldd.
+       (ldd_address_operand): New.
+       * config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
+       * config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
+       (PREDICATE_CODES): Add ldd_address_operand.
+       * config/frv/frv.md (movdi_ldd): New.
+       (symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
+       intermediate computations if possible.
+       (symGOTOFF2reg_i): Fix harmless typo.
+       2003-12-18  Alexandre Oliva  <aoliva@redhat.com>
+       * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
+       relocated p_vaddr to vaddr type.
+       * config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
+       * config/frv/frv.c (frv_get_funcdesc_alias_set): New.
+       (frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
+       MEM, or use a funcdesc alias set.  Use regular move instead of
+       ldd.
+       (dbl_memory_one_insn_operand): Recognize function descriptors by
+       type or by alias set, and don't split them.
+       * config/frv/frv.md (call, call_value): Never use call_internal
+       for fdpic.
+       (call_internal, call_value_internal): Never match for FDPIC.
+       (call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
+       call_value_fdpicsi): Require FDPIC.
+       (ldd): Removed.
+       2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
+       * unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
+       (_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
+       FDPIC.  Compute data base address.
+       * config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
+       before the other self-specs are processed.
+       * config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
+       Build with -fPIC.
+       2003-12-15  Alexandre Oliva  <aoliva@redhat.com>
+       * unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
+       inhibit_libc is defined.
+       2003-12-12  Alexandre Oliva  <aoliva@redhat.com>
+       * unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
+       __FRV_FDPIC__.
+       (__RELOC_POINTER): Define.
+       (_Unwind_IteratePhdrCallback): Use it.
+       * config/frv/frv.h (Twrite): Define.
+       (TRANSFER_FROM_TRAMPOLINE): Use it.
+       * config/frv/linux.h (INVOKE__main): Undefine.
+       (Twrite): Override.
+       2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
+       * doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
+       (-mlibrary-pic): Emphasize that this option generates EABI code.
+       (-mcpu): Add fr550.
+       (-mpack): Remove.
+       2003-11-30  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
+       and CONSTs in FDPIC mode.
+       * gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
+       2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
+       * config/frv/frv.c (move_source_operand): Don't accept symbolic
+       constants.
+       * config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
+       rather than 'i' constraint for the 2-instruction alternative.
+       (*movsi_2word): New, incorporating existing int_2word_operand splitter.
+       2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
+       * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
+       EXTRA_CONSTRAINT_FOR_Y.
+       (EXTRA_CONSTRAINT): Remove handling of 'Y'.
+       * config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
+       (addsi3): Change 'Y' constraint to 'Q'.
+       2003-11-27  Richard Sandiford  <rsandifo@redhat.com>
+       * reload.c (CONST_POOL_OK_P): New macro.
+       (find_reloads): Use it to decide whether a constant can be forced
+       into memory.
+       * config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
+       constant satisfies got12_operand.
+       (frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
+       (frv_legitimate_address_p): Check for valid unspec offsets using
+       got12_operand rather than frv_legitimate_fdpic_operand_p.
+       (frv_legitimate_fdpic_operand_p): Delete.
+       (frv_emit_movsi): Abort if we try to use the FDPIC register during
+       or after reload.
+       (frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
+       TARGET_FDPIC.
+       * config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
+       2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
+       * config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
+       (frv_fdpic_fptr_operand): Don't declare here.
+       * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
+       rather than fdpic_got12_operand.
+       (PREDICATE_CODES): Remove symbolic_operand entry.  Add entries for
+       got12_operand and const_unspec_operand.
+       * config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
+       (gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
+       (symbolic_operand): Remove.
+       (const_unspec_operand): New predicate.
+       * config/frv/frv.md (*movsi_got): Use got12_operand.
+       (*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
+       2003-11-18  Richard Sandiford  <rsandifo@redhat.com>
+       * config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
+       * config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
+       * config/frv/frv.c (frv_unspec): New structure.
+       (frv_small_data_reloc_p, frv_const_unspec_p): New functions.
+       (frv_print_operand_memory_reference): Use frv_const_unspec_p to
+       validate CONST indices.  Use frv_output_const_unspec to print them.
+       (frv_print_operand): Update call to unspec_got_name.  Use
+       frv_output_const_unspec to print constant unspecs.
+       (frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
+       Reject UNSPECs otherwise.
+       (unspec_got_name): Take the relocation number as argument, not an
+       rtx containing it.
+       (frv_output_addr_const_extra): Remove, replacing with...
+       (frv_output_const_unspec): ...this new function.
+       (frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
+       (gpr_or_int12_operand): Use fdpic_got12_operand.
+       (dbl_memory_one_insn_operand): Likewise.
+       (fdpic_got12_operand): Use frv_const_unspec_p.
+       (frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
+       are already legitimate.  Use frv_small_data_reloc_p when deciding
+       whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
+       2003-11-18  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
+       * config/frv/libgcc-frv.ver: ... frv-specific symbols.  New file.
+       * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
+       label, for real this time.
+       * config/frv/frv.c (frv_local_funcdesc_p): Update to new
+       representation of visibility.
+       (fdpic_got12_operand, symbolic_operand): Mark unused arguments as
+       such.
+       2003-11-17  Richard Sandiford  <rsandifo@redhat.com>
+       * config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
+       (TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
+       * config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
+       it was explicitly disabled.
+       (frv_stack_info): There is no need to save the link register in every
+       frame unless TARGET_LINKED_FP is true.
+       (frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
+       frame pointer if the stack pointer might change value.
+       (frv_return_addr_rtx): Check and process "count" argument.
+       2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
+       * config/frv/frv-protos.h (frv_legitimize_address): Remove.
+       (frv_find_base_term): Declare.
+       * config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
+       (FIND_BASE_TERM): Define.
+       (PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
+       small_data_register_operand, small_data_symbolic_operand.  Add
+       symbolic_operand.
+       * config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
+       (frv_print_operand_memory_reference, output_move_single): Remove
+       special handling for unlegitimized sdata addresses.
+       (frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
+       and symbolic addresses.
+       (frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
+       (frv_find_base_term): New function.
+       (int_2word_operand): Check specifically for symbolic address constants.
+       (pic_register_operand, pic_symbolic_operand): Delete.
+       (small_data_register_operand, small_data_symbolic_operand): Delete.
+       (dbl_memory_one_insn_operand): Don't call plus_small_data_p.
+       Allow UNSPEC_GOT constants if !TARGET_FDPIC.
+       (move_source_operand): Only accept CONSTs if they're a two-insn
+       symbolic constant.
+       (fdpic_got12_operand): Don't require TARGET_FDPIC.
+       (frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
+       using gen_symGOTOFF2reg*.
+       (frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
+       (frv_rtx_costs): Give all MEM addresses a cost of 0.  Give MEMs
+       themselves a cost of 3 insns.
+       * config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
+       Change predicate to symbolic_operand.
+       (*movsi_high_got, *movsi_lo_sum_got): Likewise.
+       (*movsi_lda_sdata): Delete.
+       (*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
+       2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
+       * config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
+       frv-*-*linux*.
+       * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
+       label.
+       * config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
+       -multilib-library-pic.
+       (LINK_SPEC): Add -z text for -mfdpic.
+       * config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
+       * config/frv/frvend.c (__ROFIXUP_END__): Likewise.
+       * config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
+       Override.
+       (OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
+       FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
+       * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
+       crtstuff-generated files.
+       2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
+       * config.gcc: Add frv-*-*linux*.
+       * config/frv/linux.h, config/frv/t-linux: New.
+       2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
+       when -mfdpic even if a linker script is explicitly listed.
+       2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.c (frv_override_options): Clear asm_out
+       unaligned_op for SImode on FDPIC.
+       (frv_emit_movsi): Use compute_reloc_for_constant to compute the
+       argument passed to decl_readonly_section.
+       (frv_assemble_integer): Revert 2003-09-30's change, but make the
+       whole block run with FDPIC even with -fno-PIC.
+       2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.c (frv_cannot_force_const_mem): Don't force
+       symbol or label plus offset to memory.
+       (frv_emit_movsi): Emit GPREL only if -mgprel-ro.  Emit 32-bit
+       GOTOFF and GPREL for LABEL_REF.
+       * config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
+       -mfdpic unless -mno-gprel-ro, -fpic or -fpie.
+       (MASK_GPREL_RO, TARGET_GPREL_RO): New.
+       (TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
+       * doc/invoke.texi: Document them.
+       2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
+       (frv_splittable_got_operand): Removed.
+       * config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
+       LO_SUM.  Add comments.
+       (frv_override_options): Moved enabling of FDPIC to
+       DRIVER_SELF_SPECS.  Don't enable MASK_DWORD.
+       (frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
+       (frv_legitimize_fdpic_address): Don't duplicate logic in
+       frv_emit_movsi.
+       (frv_gen_GPsym2reg): New.
+       (unspec_got_name): Added gprel.
+       (frv_expand_fdpic_call): Add support for inlining PLTs.
+       (fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
+       (gpr_or_int12_operand): Added GPREL12.
+       (pic_symbolic_operand): Match even if !flag_pic for FDPIC.
+       (small_data_symbolic_operand): Fail if FDPIC.
+       (fdpic_splittable_got_operand): Removed.
+       (fdpic_got12_operand): Added GPREL12.
+       (frv_emit_movsi): Reorganize to avoid duplication.  Emit GPREL
+       when appropriate.  Fix sdata GOTOFF.
+       (frv_legitimate_constant_p): Require legitimate PIC operand for
+       FDPIC with pic, but only a legitimate fdpic operand for non-pic.
+       (frv_assemble_integer): Move FDPIC funcdesc handling out of
+       flag_pic case.
+       (frv_asm_out_constructor, frv_asm_out_destructor): Abort if
+       frv_assemble_integer fails.
+       * config/frv/frv.h (DRIVER_SELF_SPECS): New.
+       (SUBTARGET_DRIVER_SELF_SPECS): New.
+       (ASM_SPEC): Don't pass -mno-fdpic.
+       (LINK_SPEC): Pass -melf32frvfd for FDPIC.
+       (MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
+       (TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
+       -multilib-library-pic.
+       (PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
+       condexec_si_media_operator, condexec_sf_add_operator and
+       condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
+       and condexec_sf_unary_operator.
+       * config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
+       New.
+       (movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
+       movsi_internal.  Give them internal names.  movsi_got has type
+       int.
+       (fdpic got splitters): Remove.
+       (symGPREL2reg, symGPREL2reg_hilo): New.
+       * config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
+       to -mlibrary-pic.  Map -multilib-library-pic to it.
+       * doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
+       Document.
+       2003-09-28  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
+       (TARGET_CANNOT_FORCE_CONST_MEM): Define to...
+       (frv_cannot_force_const_mem): New function.
+       (const_small_data_p, plus_small_data_p): Update comments on sdata
+       on FDPIC.
+       (frv_override_options): Set flag_pie for FDPIC too.
+       (frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
+       call-saved registers on FDPIC.
+       (frv_stack_info): Don't preserve the PIC register on FDPIC, and
+       don't force LR to be preserved.
+       (frv_expand_prologue): Likewise.
+       (frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
+       (frv_frame_pointer_required): Don't force it just because the
+       FDPIC register is used.
+       (frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
+       operand only if !condexec_p.
+       (frv_legitimize_address): Return the FDPIC-legitimized address.
+       Don't match small data here on FDPIC.
+       (frv_legitimate_fdpic_operand_p): Don't accept unadorned function
+       symbols.  Use TRUE/FALSE instead of 1/0.
+       (frv_local_funcdesc_p): New.
+       (frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
+       immediates when possible.
+       (pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
+       (dbl_memory_one_insn_operand): Accept addresses that add a REG and
+       an UNSPEC_GOT.
+       (frv_emit_movsi): Handle FDPIC before small data.  Use GOTOFF and
+       12-bit immediates when possible.
+       (frv_legitimate_constant_p): In FDPIC, reject SImode operands that
+       are not legitimate pic operands.
+       (frv_in_small_data_p): Re-enable for FDPIC.
+       * config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
+       (FRV_GLOBAL_P): Removed.
+       * config/frv/frv.md: Add modes to CONSTs.
+       (movsi_got): New.
+       (movsi_lo_sum_got): Use separate matches instead of match_dup.
+       (movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
+       (fdpic splittable operations): Match on flag_pic != 1.
+       2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.c (frv_asm_out_constructor,
+       frv_asm_out_destructor): Pass to frv_assemble_integer the size in
+       bytes, not bits.
+       2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
+       * config/frv/frv.c (frv_assemble_integer): Reject complex
+       expressions referencing function SYMBOL_REFs.
+       * config/frv/frv.c (frv_function_symbol_referenced_p): New.
+       (move_source_operand): Reject CONSTs that reference function
+       SYMBOL_REFs on FDPIC.
+       (frv_emit_movsi): If we get such a CONST, break it up.
+       * config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
+       (TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
+       * config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
+       MEM.
+       (frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
+       (frv_trampoline_size): Increase for FDPIC.
+       * config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
+       (TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
+       * config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
+       Disable use of GOTOFF for now.
+       (const_small_data_p, plus_small_data_p, frv_in_small_data_p):
+       Disable use of small data in FDPIC for now.
+       (frv_asm_output_mi_thunk): Implement for FDPIC.
+       * config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
+       * config/frv/frv.c (frv_asm_out_constructor): Use
+       frv_assemble_integer for FDPIC pointers.
+       (frv_asm_out_destructor): Likewise.
+       * config/frv/frv.md (ldd): Fix order of operands.  Use
+       address_operand for input.
+       2003-09-18  DJ Delorie  <dj@redhat.com>
+       * config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
+       (unspec_got_name): Correct typo.
+       (frv_emit_movsi): Pre-expand splittable GOTs.
+       (frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
+       * config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
+       (symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
+       * config/frv/t-frv: Add -mfdpic multilibs.
+       * config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
+       (TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
+       * config/frv/frv.c (frv_override_options): -mfdpic assumes
+       flag_pic, default to 32-bit pics, require DWORD ops.
+       (frv_override_options): Add W and Z constraints.
+       (frv_expand_prologue): No pic prologue for -mfdpic.
+       (frv_asm_output_mi_thunk): Support -mfdpic (soon).
+       (frv_print_operand_memory_reference): Handle GOT constants.
+       (frv_legitimate_address_p): Allow GOT constants.
+       (frv_legitimize_address): Handle GOT addresses too.
+       (frv_legitimate_fdpic_operand_p): New.
+       (frv_legitimize_fdpic_address): New.
+       (unspec_got_name): New.
+       (frv_output_addr_const_extra): New.
+       (frv_expand_fdpic_call): New.
+       (frv_fdpic_fptr_operand): New.
+       (gpr_or_int12_operand): Handle GOT operands.
+       (int_2word_operand): Handle GOT operands.
+       (fdpic_operand): New.
+       (fdpic_splittable_got_operand): New.
+       (fdpic_got12_operand): New.
+       (frv_emit_movsi): Handle GOT operands.
+       (frv_assemble_integer): -mfdpic doesn't use rofixups.
+       (frv_print_operand): Support 'g' code for GOT operands.
+       * config/frv/frv-protos.h: Add prototypes as needed.
+       * config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
+       R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
+       R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
+       R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
+       R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
+       R_FRV_GOTOFFLO): New.
+       (movsi_high_got, movsi_lo_sum_got): New.
+       (*movsi_pic): Don't use this splitter for -mfdpic.
+       (addsi3): Allow GOT references also.
+       (call, call_value): Handle -mfdpic separately.
+       (call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
+       call_value_fdpicsi): New.
+       (symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
+       symGOTOFF2reg_i): New.
+       * config/frv/frv.h (MASK_FDPIC): New.
+       (TARGET_FDPIC): New.
+       (TARGET_SWITCHES): Add -mfdpic.
+       (FDPIC_FPTR_REGNO): New.
+       (FDPIC_REGNO): New.
+       (OUR_FDPIC_REG): New.
+       (enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
+       FDPIC_CALL_REGS.
+       (REG_CLASS_NAMES): Likewise.
+       (REG_CLASS_CONTENTS): Likewise.
+       (EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
+       (EXTRA_CONSTRAINT): Add it here.
+       (FRV_GLOBAL_P): New.
+       (OUTPUT_ADDR_CONST_EXTRA): New.
+
+2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/sparc/sparc.h: Remove commented-out definitions of
+       TARGET_EDOM and GEN_ERRNO_RTX.
+
+2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
+       df_analyse with df_analyze.
+
+2004-02-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
+       beginning of block.
+
+2004-02-23  James E Wilson  <wilson@specifixinc.com>
+
+       * calls.c (precompute_arguments): Update comment.
+
+2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * et-forest.c: Replace et_occurences with et_occurrences.
+
+2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
+       with iv_analyze.
+
 2004-02-23  Kelley Cook  <kcook@gcc.gnu.org>
 
        * config/i386/i386.c: Rename pni to sse3.
 
        * doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
 
-2003-02-23  Matt Austern  <austern@apple.com >
-
-       * config/darwin.h (SUBTARGET_OPTIONS): Add -mmacosx= option.
-       (macosx_version_min_required): Declare global variable.
-       * config/darwin-protos.h (darwin_parse_macosx_version_name): Declare.
-       * config/darwin.c (macosx_version_min_required): Define variable.
-       (darwin_macosx_vers_tbl): Define. Table mapping text strings of
-       OS versions to numerical codes.
-       (darwin_parse_macosx_version_name): Define.  Parse -mmacosx=,
-       set macosx_version_min_required appropriately.
-       * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
-       Invoke darwin_parse_macosx_version_name.
-       * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
-       darwin_parse_macosx_version_name to Darwin option handling.
-       * doc/invoke.texi (-mmacosx=): Document.
-       
 2004-02-23  Dale Johannesen  <dalej@apple.com>
 
        * config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
 2004-02-23  Fariborz Jahanian <fjahanian@apple.com>
         * config/rs6000/rs6000.c (function_arg): call to
        rs6000_mixed_function_arg for DFmode moved to allow
-       normal DFmode incoming register assignment.  
+       normal DFmode incoming register assignment.
 
 2004-02-23  Dale Johannesen  <dalej@apple.com>
 
        merely its number.
        (rs6000_attribute_table): Add "altivec" attribute.
        (rs6000_handle_altivec_attribute): New function.
-       * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe 
+       * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
        '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
        maps to).
        (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
 2004-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
 
        PR c/14088
-       real.c (real_from_string): Look for 'X' as well as 'x' in
+       real.c (real_from_string): Look for 'X' as well as 'x' in
        hexfloat strings.
 
 2004-02-10  Kazu Hirata  <kazu@cs.umass.edu>