OSDN Git Service

2004-04-30 Uros Bizjak <uros@kss-loka.si>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 586132f..22f2d77 100644 (file)
@@ -1,3 +1,504 @@
+2004-04-30  Uros Bizjak  <uros@kss-loka.si>
+
+        * reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
+        UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies.
+        <UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same.
+        <UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same.
+
+2004-04-29  Richard Guenther  <richard.guenther@uni-tuebingen.de>
+
+       * commom.opt (Wfatal-errors): Add it.
+       * diagnostic.c (flag_fatal_errors): Define it.
+       (diagnostic_action_after_output): Check for flag_fatal_errors.
+       * flags.h (flag_fatal_errors): Declare it.
+       * opts.c (common_handle_option): Add OPT_Wfatal_errors.
+       * doc/invoke.texi (Warning Options): Document -Wfatal-errors.
+
+2004-04-30  Josef Zlomek  <zlomekj@suse.cz>
+
+       * gcse.c (remove_reachable_equiv_notes): Delete notes also in
+       blocks which have kill flag set.
+
+2004-04-29  Ben Elliston  <bje@au.ibm.com>
+
+       * configure.ac (--with-as): Abort if user-supplied assembler
+       cannot be executed.
+       (--with-ld): Likewise for the linker.
+       * configure: Regenerate.
+
+2004-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * convert.c (convert_to_integer): Ensure `long_integer_type_node'
+       isn't NULL before using it.
+
+2004-04-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR target/15189
+       * config/mips/mips.md (load_df_low): Use default length.
+       (load_df_high, store_df_high): Likewise.
+
+2004-04-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/mips/mips.md, config/mips/sb1.md,
+       config/rs6000/rs6000.c: Fix comment typos.
+
+2004-04-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c:
+       Fix comment typos.
+
+2004-04-29  Douglas B Rupp  <rupp@gnat.com>
+
+       * gcc.c (DELETE_IF_ORDINARY): New macro default definition.
+       (delete_if_ordinary): Use above macro.
+       * config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
+       Update copyright.
+       * doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
+
+2004-04-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       * c-decl.c (get_parm_info): Use the correct tag keywords when
+       warning about type declarations in prototypes.
+
+2004-04-29  Paul Brook  <paul@codesourcery.com>
+
+       * config.gcc: Pull list of cores from arm-cores.def.
+
+2004-04-29  Paolo Bonzini  <bonzini@gnu.org>
+
+       * combine.c (combine_simplify_rtx): Adjust call to use
+       simplify_relational_operation.  Do not use SELECT_CC_MODE
+       when a comparison already has a MODE_CC mode.
+       (simplify_set): simplify_relational_operation may now
+       return another relational expression.
+       * cse.c (fold_rtx): simplify_relational_operation now
+       takes of computing the comparison mode.
+       * dojump.c (compare_from_rtx): Use simplify_relational_operation,
+       remove dead code.
+       (do_compare_rtx_and_jump): Likewise.
+       * integrate.c (subst_constants): simplify_relational_operation
+       may now return another relational expression.
+       * simplify-rtx.c (simplify_gen_relational): Move most code to
+       the new simplify_relational_operation and
+       simplify_relational_operation_1 functions.
+       (simplify_relational_operation): Rewritten.
+       (simplify_relational_operation_1): New function.
+       (simplify_ternary_operation): simplify_relational_operation
+       may now return another relational expression.
+       (simplify_rtx): Remove unnecessary temp variable. 
+
+2004-04-29  Uros Bizjak  <uros@kss-loka.si>
+
+       * reg-stack.c (swap_to_top): New function.
+       (subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use
+       swap_to_top().
+       (subst_stack_regs_pat): UNSPEC_FSCALE: Remove.
+       (subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and 
+       UNSPEC_FSCALE_EXP.
+
+       * config/i386/i386.md (UNSPEC_FSCALE): Remove.
+       (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern.
+       (UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent
+       x87's fscale insn.
+       (*fscalexf4: Define new insn pattern to implement x87 fscale insn.
+       (exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate
+       patterns.
+
+2004-04-28  Serge Belyshev  <1319@bot.ru>
+
+       PR 14944
+       * coverage.c (read_counts_file): Fix usage of warning () call.
+       * pretty-print.c (pp_base_format_text): Fix typo in the comment.
+
+2004-04-28  Ben Elliston  <bje@au.ibm.com>
+
+       * doc/invoke.texi (Objective-C Dialect Options): Don't prefix
+       options with "-" in the option index.
+       (SPARC Options): Likewise.
+       (M32R/D Options): Likewise.
+
+2004-04-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * convert.c (convert_to_integer): Convert (long)round -> lround,
+       etc.
+
+2004-04-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/rs6000/rs6000.c (registers_ok_for_quad_peep):
+       Return false if we do not have fp register.
+       (addrs_ok_for_quad_peep): Rename to ...
+       (mems_ok_for_quad_peep): this.
+       Add check for volatile memory.
+       * config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep):
+       Rename to ...
+       (mems_ok_for_quad_peep): this.
+       * config/rs6000/rs6000.md: Change peephole's for lfq/stq
+       to peephole2's.
+       (lfq_power2): New instruction.
+       (stfq_power2): Likewise.
+
+2004-04-28  Jan Hubicka  <jh@suse.cz>
+
+       PR c/15004
+       * function.c (do_warn_unused_parameter): Break out form ...
+       (expand_function_end): ... here; warn only when not using cgraphunit.
+       * function.h (do_warn_unused_parameter): Declare.
+       * cgraphunit.c: Include function.h.
+       (cgraph_finalize_function): Do unused parameter warning.
+       * Makefile.in (cgraphunit.o): Depend on function.h
+
+2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
+       calling install-info on $(DESTDIR)$(infodir)/dir already being
+       present.
+
+2004-04-28  Paul Brook  <paul@codesourcery.com>
+
+       * dwarf2out.c (mem_loc_descriptor): Handle shifts.
+
+2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gcse.c (find_moveable_store): Do not accept store insns with 
+       REG_EH_REGION note.
+
+2004-04-28  Paul Brook  <paul@codesourcery.com>
+
+       * calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
+       * function.c (assign_temp): Ditto.
+       * system.h (PROMOTE_FOR_CALL_ONLY): Poison.
+
+2004-04-28  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
+
+2004-04-28  Josef Zlomek  <zlomekj@suse.cz>
+
+       * var-tracking.c (variable_different_p): Add a parameter
+       compare_current_location, compare current location of variable parts
+       if it is true.
+       (dataflow_set_different_1): Pass compare_current_location == false.
+       (dataflow_set_different_2): Pass compare_current_location == false.
+       (emit_notes_for_differences_1): Pass compare_current_location == true.
+
+2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.md ("casesi"): Mark jump table access as
+       non-trapping and unchanging.
+
+2004-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR debug/14829
+       * dwarf2out.c (reg_number): Rename to dbx_reg_number.  Adjust all
+       callers.
+       (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
+       number for indexing hard_regno_nregs array.
+       
+2004-04-27  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o.
+       * config/darwin-crt2.c: Only have contents on __ppc__.
+
+2004-04-27  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (call_insn_operand): Check
+       SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
+       * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
+       * config/xtensa/xtensa.md (call, call_value): Likewise.
+
+2004-04-27  Wu Yongwei  <adah@sh163.net>
+
+       * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
+       (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
+       (__gthread_mutex_init_function): Replace CreateMutex with
+       initialization of custom mutex using CreateSemaphore.
+       (__gthread_mutex_lock): Use InterlockedIncrement.
+       (__gthread_mutex_trylock): Use InterlockedCompareExchange.
+       (__gthread_mutex_unlock): Use InterlockedDecrement and
+       ReleaseSemaphore to unlock
+       * config/i386/gthr-win32.c (__gthread_mutex_init_function,
+       __gthread_mutex_lock, __gthread_mutex_trylock,
+       __gthread_mutex_unlock): Adjust to match inline versions in
+       gthr-win32.h.
+
+2004-04-27  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_promote_prototypes): New function.
+       (TARGET_PROMOTE_PROTOTYPES): Use it.
+
+2004-04-27  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs.
+
+2004-04-26  Bernard Giroud  <bgiroud@free.fr>
+
+       * config/alpha.c (alpha_end_function): For OpenVMS gas,
+       correctly output .pdesc directive before .end.
+
+2004-04-26  James E Wilson  <wilson@specifixinc.com>
+
+       Bug 14927
+       * config/ia64/ia64.md (movxf): New local op0.  Handle case where
+       operands[0] is a SUBREG.  Handle case where operands[1] is a GR reg.
+
+2004-04-26  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
+       * config/pa/pa-hpux10.h: Likewise.
+       * config/pa/pa-hpux11.h: Likewise.
+
+2004-04-26  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/invoke.texi (Overall Options): Document default for -o
+       for PCH files.
+
+2004-04-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * builtins.c (expand_builtin_update_setjmp_buf): New function.
+       (expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
+       * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
+
+2004-04-26  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
+
+2004-04-26  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
+
+2004-04-25  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to
+       fold (build1 (NEGATE_EXPR, ...)).  Optimize X / -1 as -X and
+       X % -1 as 0.
+
+2004-04-26  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       PR bootstrap/15141
+       * except.c (connect_post_landing_pads): Delete insns after the
+       barrier when generating a unwind_resume_libfunc call.
+
+2004-04-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       PR/c++ 15119
+       * tree.c (substitute_placeholder_in_expr, case 4): New case,
+       for TARGET_EXPR.
+
+2004-04-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
+       __gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
+       inhibit_libc is defined.
+
+2004-04-25  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips-protos.h (mips_linked_macc_p): Declare.
+       * config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
+       * config/mips/mips.c (TARGET_SCHED_REORDER): Define.
+       (TARGET_SCHED_VARIABLE_ISSUE): Define.
+       (mips_adjust_cost): Move later in file, next to other sched hooks.
+       (mips_macc_chains_last_hilo): New variable.
+       (mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
+       (mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
+       * config/mips/mips.md (may_clobber_hilo): New attribute.
+
+2004-04-24  Roger Sayle  <roger@eyesopen.com>
+           Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/inclhack.def (aix_syswait_2): New fix.
+       * fixinc/fixincl.x: Regenerate.
+       * fixinc/tests/base/sys/wait.h: Update for new test.
+
+2004-04-24  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/14960
+       * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
+       to non_fixed_size, and leave out fixed_size from the sum.
+       (generate_set_vrsave): Correct clobbers.
+       (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
+       (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
+       (rs6000_libcall_value): Likewise.
+       * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
+       (FUNCTION_ARG_REGNO_P): Likewise.
+
+2004-04-24  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * expmed.c (expand_mult_highpart_adjust): Do not assume OP1
+       is a CONST_INT.
+       (expand_mult_highpart_optab): Call expand_mult_highpart_adjust
+       with NARROW_OP1 instead of OP1.
+
+2004-04-24  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
+       and __s390x__ hosts.
+
+2004-03-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
+       _gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
+       * builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
+       BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
+       BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
+       * builtins.c (expand_builtin_fork_or_exec): New.
+       (expand_builtin): Call it.
+       * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
+       BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
+       * c-common.c (PID_TYPE): New macro.
+       (c_common_nodes_and_builtins): Initialize pid_type_node.
+       * calls.c (special_function_p): Do not handle fork and exec.
+       (expand_call): Do not handle ECF_FORK_OR_EXEC.
+       * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
+       __gcov_execv, __gcov_execvp, __gcov_execve): Declare.
+       * libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
+       __gcov_execv, __gcov_execvp, __gcov_execve): New.
+       * tree.h (enum tree_index): Add TI_PID_TYPE.
+       (pid_type_node): New macro.
+       (ECF_FORK_OR_EXEC): Removed.
+
+2004-04-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/13985
+       * cfgloopmanip.c (fix_loop_placements): New prototype.
+       Call fix_bb_placements on the preheader of loops that have
+       been reparented.
+       (remove_path): Adjust call to fix_loop_placements.
+
+2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/darwin7.h: New file.
+       * config.gcc (*-*-darwin*): Add darwin7.h if the
+       version is greater than 6.
+       * config/darwin.h (TARGET_C99_FUNCTIONS): Define.
+       (MATH_LIBRARY): Wrap in ifdefs.
+
+2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
+
+       * config/arm/arm.c (arm_output_epilogue): Reverse the order of
+       loading iWMMXt registers with a frame pointer.  Use post-increment
+       without a frame pointer.
+       (arm_expand_prologue): Reverse the order of saving iWMMXt registers.
+
+2004-04-23  Paolo Bonzini  <bonzini@gnu.org>
+
+       * doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
+       mode" rather than "-funit-at-a-time" since -O2 enables it
+       without requiring -f* options.  Refer to -fprofile-generate and
+       -fprofile-use correctly.  Move -funit-at-a-time among options
+       enabled by -O.  Add information about unit-at-a-time caveats.
+
+2004-04-22  Per Bothner  <per@bothner.com>
+
+       * line-map.h (struct line_maps):  New field highest_line.
+       (linemap_position_for_column):  Make non-inline function.
+       (LINEMAP_POSITION_FOR_COLUMN):  New macro.
+       * line-map.c (linemap_init):  Clear highest_line field.
+       (linemap_add):  Set highest_line field.
+       (linemap_line_start):  Minor optimization - use highest_line field.
+       Reduce maximum column hint to 10000.  Update highest_line field.
+       (linemap_position_for_column):  Moved from line-map.h.  Optimize a bit.
+       * cpphash.h (struct cpp_reader):  Remove line field - instead use
+       line_table->highest_line.
+       (saved_line):  Remove unused field.
+       (CPP_INCREMENT_FILE):  Don't do linemap_lookup - just use newest map.
+       Use  line_table's highest_line field instead of cpp_reader's line.
+       * cpplib.c (start_directive):  Likewise use highest_line field.
+       (do_line, do_linemarker):  Likewise just use newest map.
+       (_cpp_do_file_change):  Don't need to set cpp_reader's line field.
+       * cpperror.c (cpp_error):  Likewise use highest_line field.
+       * cppfiles.c (open_file_failed:  Likewise.
+       (cpp_make_system_header):  Likewise use newest map and highest_line.
+       * cppinit.c (cpp_create_reader):  Don't initialize removed field.
+       * cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
+       skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
+       _cpp_lex_direct):  Likewise use highest_line.
+       (_cpp_lex_direct):  Use new LINEMAP_POSITION_FOR_COLUMN macro.
+       * cppmacro.c (_cpp_builtin_macro_text):  Likewise use highest_line,
+       and use newest map.
+       * cpppch.c (cpp_read_state):  Don't save+restore cpp_reader's line.
+       * cpptrad.c (_cpp_overlay_buffer):  Don't save cpp_reader's line.
+       (copy_comment, _cpp_scan_out_logical_line):  Likewise use highest_line.
+
+2004-04-23  Alan Modra  <amodra@bigpond.net.au>
+
+       PR bootstrap/14992
+       * gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
+       * config/linux.h (USE_LD_AS_NEEDED): Define.
+       * gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
+       * gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
+       * gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
+       * gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
+       * gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define.
+       * gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
+       * gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
+
+2004-04-22  Per Bothner  <per@bothner.com>
+
+       * cppinit.c (cpp_read_main_file):  Return NULL rather than false.
+       Fixes PR preprocessor/15067.
+
+2004-04-23  Andreas Schwab  <schwab@suse.de>
+
+       * config/ia64/ia64intrin.h: Add intermediate cast to void * to
+       avoid aliasing warning.
+
+2004-04-22  Jan Hubicka  <jh@suse.cz>
+           Mostafa Hagog <mustafa@il.ibm.com>
+
+      * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
+      * cfgloopanal.c (expected_loop_iterations): Change the return value
+
+2004-04-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * cselib.h (struct elt_loc_list): Remove canon_loc field.
+       * cselib.c (new_elt_loc_list): Remove canon_loc initialization.
+       (cselib_invalidate_mem): Remove all canon_loc and canon_x
+       traces.
+
+2004-04-22  Josef Zlomek  <zlomekj@suse.cz>
+
+       Revert
+       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-22  Richard Sandiford  <rsandifo@redhat.com>
+
+       * doc/invoke.texi: Remove the MIPS -membedded-pic option.
+       * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
+       (embedded_pic_offset): Delete.
+       * config/mips/mips.h (MASK_EMBEDDED_PIC): Delete.  Shuffle other
+       MASK_* constants.
+       (TARGET_EMBEDDED_PIC): Delete.
+       (TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
+       (ASM_SPEC): Remove -membedded-pic.
+       (ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
+       (ASM_OUTPUT_CASE_LABEL): Likewise.
+       * config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
+       * config/mips/windiss.h (ASM_SPEC): Likewise.
+       * config/mips/mips.c (struct machine_function): Remove
+       embedded_pic_fnaddr_rtx.
+       (TARGET_ENCODE_SECTION_INFO): Remove override.
+       (embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
+       (override_options): Remove -membedded-pic handling.
+       (print_operand): Remove handling of '%S'.
+       (mips_select_section: Remove -membedded-pic handling.
+       (mips_encode_section_info): Delete.
+       (mips_output_conditional_branch): Remove mention of -membedded-pic.
+       * config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
+       -membedded-pic handling.
+       (casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
+
+2004-04-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * var-tracking.c (frame_base_decl): Remove useless GTY.
+
+2004-04-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Error when
+       user wants altivec and e500 instructions.
+
 2004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/14813
 
 2004-04-21  James E Wilson  <wilson@specifixinc.com>
 
+       * config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
+       * config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
+       (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
+       (fp_register_operand, lo_operand): New.
+       (mips_rtx_costs): Add TUNE_SB1 support.
+       (mips_issue_rate): Add comment.  Add PROCESSOR_SB1 support.
+       (mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
+       (mips_multipass_dfa_lookahead): New.
+       * config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
+       TUNE_SB1): New.
+       (TARGET_SWITCHES): Add -mfp-exceptions support.
+       (TARGET_FP_EXCEPTIONS_DEFAULT): New.
+       (BRANCH_COST): Fix whitespace.
+       * config/mips/mips.md: Include sb1.md.
+       * config/mips/sb1.md: New file.
+       * doc/invoke.texi: Document -mfp-exceptions.
+
        * Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS.  Fix
        comment.
        * fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
        (vall_value_gp): Likewise.
 
 2004-04-20  DJ Delorie  <dj@redhat.com>
-       
+
        * dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
        variables stored in word registers, then in memory.
 
        to "Not triggered by any -O level" section.  Adjust commentary
        accordingly.
 
-2004-04-20  Anil Paranjpe   <anilp1@kpitcummins.com>
+2004-04-20  Anil Paranjpe <anilp1@kpitcummins.com>
 
        * toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
 
 
 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.
+       * 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>