OSDN Git Service

* genmodes.c (calc_wider_mode): Allocate enough room for all the
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5859517..41b0ead 100644 (file)
@@ -1,3 +1,540 @@
+2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
+
+       * genmodes.c (calc_wider_mode): Allocate enough room for all the
+       entries we'll possibly assign in the sort buffer.
+       
+2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config.gcc (s390x-ibm-tpf*): New target.
+       * doc/install.texi: Document it.
+       * config/s390/t-tpf: New file.
+       * config/s390/tpf.h: New file.
+
+2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/12598
+       * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
+       (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
+       Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
+       ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
+       (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
+       (define_split "*mov_sidesi_mem"+28, +29, +30): Use
+       replace_equiv_address, not gen_rtx_MEM.
+       * config/cris/cris.c (cris_mem_op): New match_operator function.
+       (cris_notice_update_cc): Use replace_equiv_address, not
+       gen_rtx_MEM.
+       * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
+
+2003-10-15  Bernardo Innocenti <bernie@develer.com>
+
+       * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
+       MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
+       definitions after the other flags.
+
+2003-10-14  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-parse.in (methoddef, methodproto): Call objc_add_method()
+       instead of add_method().
+       * objc/objc-act.c (objc_check_decl): Do not check for
+       constant_string_type.
+       (add_method): Rename to objc_add_method().
+       (really_start_method): Call objc_add_method() instead of
+       add_method().
+       * objc/objc-act.h (add_method): Rename to objc_add_method().
+
+2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
+       (s390_slb_comparison): Likewise.
+       * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
+       New functions.
+       * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
+       and s390_slb_comparison.
+       * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on 
+       zSeries machines.
+       ("*adddi3_31z", "*subdi3_31z"): New insns.
+       ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
+       "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
+       New insns.
+       
+2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Clean up some feedback echoes.
+       * configure: Regenerate.
+
+       * aclocal.m4: Properly quote names of macros being defined.
+
+       * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
+
+2003-10-14  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.c (ia64_expand_call): Force function address
+       to DImode.
+       * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
+
+2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
+       "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
+       ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3", 
+       "*divsf3_ibm"): Likewise.
+
+2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
+       target_alias with target_noncanonical.
+
+2003-10-14  Geoffrey Keating  <geoffk@apple.com>
+
+       * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
+       and add case for machines where outgoing register parameters
+       get stack space.
+
+       * config/darwin.c (machopic_indirect_data_reference): Use a scratch
+       register when generating indirect address.
+
+2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_addimm_operand): MODE arguemnt is unused.
+       * arm.md (cbranchne_decr1): Fix bootstrap warning.
+
+2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
+       * fixinc/fixincl.x: Regenerate.
+       * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
+       testcase. 
+       Fixes PR bootstrap/9330.
+
+2003-10-13  Eric Christopher  <echristo@redhat.com>
+
+       * config/frv/frv.c (frv_adjust_field_align): Redo check for
+       too wide bitfields.
+       (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
+       * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
+       (SBSS_SECTION_ASM_OP): Remove.
+       (EXTRA_SECTIONS): Remove in_sbss.
+       (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
+       (SBSS_SECTION_FUNCTION, sbss_section): Remove.
+       (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
+       named_section.
+
+2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * Makefile.in, configure.in, config.host, mkheaders.in: Replace
+       uses of ${target_alias} for directory names (and other places which
+       won't like the empty string) with ${target_noncanonical}.  Introduce
+       call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
+       available.
+       * configure: Regenerate.
+
+2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
+       * config/arm/arm.md: For splits which rely on conditional moves,
+       remove ! TARGET_IWMMXT condition.
+
+2003-10-13  David S. Miller  <davem@redhat.com>
+
+       * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
+       (find_cond_trap): Always increment if we emit a conditional
+       trap insn.
+
+2003-10-13  Zack Weinberg  <zack@codesourcery.com>
+
+       * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
+       with min-insn-modes.o.
+       (STAGESTUFF): Add min-insn-modes.c.
+       (genobjs): Add genmodes.o.
+       (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
+       (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
+       (min-insn-modes.c, min-insn-modes.o): New rules.
+       (s-modes): Also generate min-insn-modes.c.
+       ($(BUILD_PREFIX_1)insn-modes.o): Kill.
+       * genmodes.c (struct mode_data): Add format field.
+       (blank_mode, validate_mode, complete_mode): Update to match.
+       (make_scalar_mode): Separate into make_int_mode and make_float_mode.
+       (_SCALAR_MODE): Kill.
+       (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
+       (emit_insn_modes_c_header): Adjust.
+       (emit_min_insn_modes_c_header, emit_real_format_for_mode)
+       (emit_min_insn_modes_c): New functions.
+       (emit_insn_modes_c): Call emit_real_format_for_mode.
+       (main): Add -m option to generate min-insn-modes.c.
+       * machmode.h: Update documentation.  Add format argument to
+       all uses of FLOAT_MODE.
+       * real.c: Don't define real_format_for_mode here.
+
+       * dwarfout.c: Move default definition of PRINT_REG...
+       * defaults.h: ...here.
+       * print-rtl.c: Include tm_p.h.
+       (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
+       Kill.
+       (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
+       this entire block with #ifndef GENERATOR_FILE.
+       * regclass.c: Unconditionally define reg_names.
+       * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
+       Don't define DEBUG_REGISTER_NAMES.
+       * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
+       redefinition of REGISTER_NAMES.
+       * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
+
+       * combine.c: Change all preprocessor conditionals on
+       EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
+       for clarity.
+       * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
+       * configure.in: Don't define EXTRA_CC_MODES.
+       * configure, config.in: Regenerate.
+       * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
+
+       * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
+       May assume that GET_MODE_CLASS is accurate for extra CC modes
+       at all times.
+
+       * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
+       number of arguments to aggregate_value_p.
+
+       * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
+       * machmode.def: Explain ARCH-modes.def.  Document
+       RESET_FLOAT_FORMAT.  Improve commentary on various mode
+       clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
+       XF, or TF modes here.  Remove backward-compatibility
+       definition of CC.
+
+       * config/alpha/alpha-modes.def: New file; define TF mode.
+       * config/arc/arm-modes.def: Define XF mode.
+       * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
+       float format for SF and DF modes.
+       * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
+       * config/i386/i386-modes.def: Define XF and TF modes.
+       * config/i960/i960-modes.def: Define TF mode.
+       * config/ia64/ia64-modes.def: Define TF and OI modes.
+       * config/m68k/m68k-modes.def: New file; define XF mode.
+       * config/mips/mips-modes.def: New file; define TF mode, reset
+       formats for SF and DF modes.
+       * config/pa/pa-modes.def: Define TF mode.
+       * config/rs6000/rs6000.c: Define TF and PSI modes.
+       * config/s390/s390-modes.def: Define OI mode.
+       * config/sh/sh-modes.def: New file; define PSI mode.
+       * config/sparc/sparc-modes.def: Define TF mode.
+       * config/vax/vax-modes.def: New file; reset formats for SF and
+       DF modes.
+
+       * config/c4x/c4x.c (c4x_override_options): No need to mess
+       with real_format_for_mode or set REAL_MODE_FORMATs.
+       (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
+       variable.
+       * config/i386/i386.c (override_options): No need to set
+       REAL_MODE_FORMATs here.
+       * config/i960/i960.c (i960_initialize): Likewise.
+       * config/m68k/m68k.c (m68k_override_options): Likewise.
+       * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
+       for TFmode only if not the default.
+       * config/mips/mips.c (override_options): Likewise.
+       * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
+       DFmode only if not the default.
+
+       * config/i370/i370.h (RET_REG): Don't consider TFmode.
+       * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
+       * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
+       of modes that don't appear anywhere in the machine description.
+
+       * config/arc/arc-modes.def, config/arm/arm-modes.def
+       * config/c4x/c4x-modes.def, config/frv/frv-modes.def
+       * config/i386/i386-modes.def, config/i960/i960-modes.def
+       * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
+       * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
+       * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
+       * config/sparc/sparc-modes.def: Convert to new style for
+       declaring extra CC modes.
+
+2003-10-13  Zack Weinberg  <zack@codesourcery.com>
+
+       * cpplex.c (_cpp_clean_line): In the common case of a line
+       with no trigraphs and no \-newline, avoid writing to memory.
+       (_cpp_skip_block_comment): Use a local 'cur' pointer instead
+       of the buffer member.  Make c an uchar to avoid unnecessary
+       sign extensions.
+
+2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Remove unnecessary test.
+       * configure: Regenerate.
+
+       * configure.in: Fix grammatical error.  Move UWIN host error to...
+       * config.host: Here.
+       * configure: Regenerate.
+
+2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
+       "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
+       of flag_unsafe_math_optimizations.
+       * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
+       "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
+       fused-madd and no-fused-madd.
+       * doc/invoke.texi: Documented the new options fused-madd and
+       no-fused-madd for S/390.
+
+2003-10-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
+       MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
+       assign DEFAULT_ABI.
+       (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
+       * config/rs6000/rs6000.c: Formatting.
+       (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
+       when rs6000_alignment_string given.
+
+2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/12538
+       * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
+       (sparc_flat_must_save_register_p): New function to decide whether
+       a register must be saved/restored in the function prologue/epilogue.
+       (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
+
+2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * config/avr/avr.c, config/avr/avr-protos.h: Convert to
+       ISO C90 function declarations and definitions.
+       * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
+
+2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
+       config files which do the same thing.
+       * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
+       config/freebsd6.h: Remove now unnecessary files.
+
+2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * c-common.c (c_common_truthvalue_conversion): Warn if the
+       address of a non-weak function is used as a truth value.
+
+2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
+       a literal.
+       * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
+       instead of a literal.
+
+2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * doc/extend.texi (Function Attributes): Mention the exceptional
+       path for noreturn-marked functions.
+
+2003-10-12  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
+       warning.
+
+2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/i386.c (x86_this_parameter): Fix typo.
+
+2003-10-11  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (web.o): New.
+       * web.c: New file.
+       * rtl.h (web_main): Declare.
+       * timervar.def (TV_WEB): New.
+       * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
+       (rest_of_hanle_web): New.
+       (flag_web): New static variable.
+       (lang_independent_options): Add "web".
+       (rest_of_compilation): Call rest_of_handle_web.
+       * invoke.texi (-fweb): Document.
+       * common.opt (fweb): New.
+       * flags.h (flag_web): New.
+       * opts.c (decode_options): Set flag_web at -O3.
+
+       * passes.texi (web construction):  Document.
+       * invoke.texi (-O3): Document that -fweb is enabled.
+
+       * regrename.c (regrename_optimize): Deal better with situation when
+       replacement failed.
+
+       * sched-ebb.c: Include params.h and profile.h
+       (schedule_ebbs):  Use tracer parameters to discover superblocks
+       * Makefile.in (sched-ebb.o):  Add dependencies.
+
+2003-10-11  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (negate_mathfn_p): New function to determine whether
+       a built-in mathematical function is sign preserving, f(-x) == -f(x).
+       Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
+       (tree_swap_operands_p): Change API to take an additional argument
+       indicating that the swapped operands evaluate in reverse order.
+       Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
+       operand side-effects or we don't care about flag_evaluation_order.
+       (reorder_operands_p): New function to check whether its safe to
+       evaluate the given operands in reverse order.
+       (negate_expr_p):  We can always negate integer constants unless
+       we honor -ftrapv and the signed type would overflow.  Only allow
+       -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
+       negation of COMPLEX_CST if both real and imaginary parts can be
+       negated.  Allow negation through floating point extensions and
+       sign-preserving built-in functions.
+       (negate_expr):  Move the code to negate integers from "fold" to
+       here.  Always negate integer constants unless we honor -ftrapv
+       and the signed type would overflow.  Always negate real constants
+       unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
+       if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
+       Optimize negation through floating point extensions and
+       sign-preserving built-in functions (as defined by negate_mathfn_p).
+       (fold): Adjust calls to tree_swap_operands_p.
+       (fold <NEGATE_EXPR>): Move the remaining negation optimizations
+       to negate_expr_p/negate_expr.
+       (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
+       allowed to convert (-A) - B into (-B) - A.
+
+2003-10-11  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (expand_builtin_strcmp): Defend against the possibility
+       that gen_cmpstrsi may fail: Stabilize the argument list against
+       re-evaluation and expand the library call directly using this saved
+       argument list if a cmpstrsi sequence can't be generated.
+       (expand_builtin_strncmp): Likewise.
+
+       * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
+
+2003-10-11  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/12260
+       * simplify-rtx.c (simplify_unary_operation): Simplify all unary
+       operations through CONST nodes.  Optimize (neg (plus X C)) as
+       (minus -C X) for constant values C.
+       (simplify_binary_operation): Optimize (minus (neg X) C) as
+       (minus -C X) for constant values C.
+       (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
+       instead create (minus -C X).
+
+2003-10-11  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
+       safe_from_p for us, once it chooses an evaluation order.
+       (expand_expr <MULT_EXPR>): Likewise.
+       (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
+       places the second operand in "target", swap the operands.
+       (do_store_flag): Let expand_operands call safe_from_p for us.
+
+2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/12544
+       * function.c (put_var_into_stack): Don't generate ADDRESSOFs
+       for DECL_NONLOCAL decls.
+
+2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expr.c: Follow spelling conventions.
+       * final.c: Likewise.
+       * optabs.c: Likewise.
+       * sched-deps.c: Likewise.
+       * sdbout.c: Likewise.
+
+Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
+       re-computing of variable.
+
+2003-10-11  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_return_in_memory): Rename from
+       return_in_memory, make static, change signature to match target hook.
+       (alpha_setup_incoming_varargs): Make static, change signature to
+       match target hook, add code for vms and unicos.
+       (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
+       TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
+       TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
+       TARGET_STRICT_ARGUMENT_NAMING,
+       TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
+       * config/alpha/alpha-protos.h: Update.
+       * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
+       PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
+       SETUP_INCOMING_VARARGS): Remove.
+       * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
+       * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
+
+2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
+
+2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/m68k/lb1sf68.asm: Follow spelling conventions.
+       * config/m68k/m68k.c: Likewise.
+       * config/m68k/m68k.h: Likewise.
+       * config/m68k/m68k.md: Likewise.
+
+2003-10-11  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (expand_builtin_memcpy): Optimize case when the two
+       pointer arguments are the equal, non-volatile and side-effect free.
+       (expand_builtin_mempcpy): Likewise.
+       (expand_builtin_memmove): Likewise.
+       (expand_builtin_strcpy): Likewise.
+       (expand_builtin_memcmp): Likewise.
+       (expand_builtin_strcmp): Likewise.
+       (expand_builtin_strncmp): Likewise.
+
+2003-10-11  Roger Sayle  <roger@eyesopen.com>
+
+       * combine.c (apply_distributive_law): Enable "distributive" floating
+       point optimizations with -funsafe-math-optimizations.
+
+2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
+
+       * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
+
+2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/m68k/m68k-protos.h: Remove the prototype for
+       finalize_pic.
+
+2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/m68k/m68k.c: Fix comment typos.
+
+2003-10-11  Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k-protos.h (use_return_insn): Change return type from
+       int to bool.
+       * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
+       (current_frame): New global var.
+       (m68k_compute_frame_layout): Cache computations in current_frame.
+       (m68k_initial_elimination_offset): Use values from current_frame
+       instead of recomputing them.
+       (use_return_insn): Likewise.
+       (m68k_output_function_prologue): Likewise.
+       (m68k_output_function_epilogue): Likewise.
+       * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
+       inside the block for __pic__.
+
+2003-10-11  Peter Barada <peter@baradas.org>
+           Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
+       (m68k_save_reg): Add boolean parameter `interrupt_handler'.
+       (m68k_interrupt_function_p): New function.
+       (m68k_handle_fndecl_attribute): Ditto.
+       (m68k_compute_frame_layout): Ditto.
+       (m68k_attribute_table): Define back-end specific attributes.
+       (m68k_output_function_epilogue): Emit RTE instruction for interrupt
+       functions.
+
+2003-10-11  Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/t-uclinux: New target Makefile fragment.
+       * config/m68k/uclinux.h: New target macro file.
+       * config.gcc (m68k-*-uclinux): New target definition.
+
+2003-10-10  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (builtin_mathfn_code): Generalize to check whether
+       the call is to any built-in function by comparing the call's
+       argument list against the builtin decl's function type.
+
 2003-10-10  Roger Sayle  <roger@eyesopen.com>
 
        * cse.c (constant_pool_entries_regcost): New global variable to
            Paul Dale  <pauli@snapgear.com>
 
        * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
-       support. 
+       support.
        * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
        -fpic, -fPIC, -msep-data and -mid-shared-library.
        * config/m68k/m68k.c (m68k_library_id_string): New global variable.
        * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
        (call_value): Likewise.
 
-2003-10-11  Peter Barada <peter@baradas.org>
-           Bernardo Innocenti  <bernie@develer.com>
-
-       * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
-       (m68k_save_reg): Add boolean parameter `interrupt_handler'.
-       (m68k_interrupt_function_p): New function.
-       (m68k_handle_fndecl_attribute): Ditto.
-       (m68k_compute_frame_layout): Ditto.
-       (m68k_attribute_table): Define back-end specific attributes.
-       (m68k_output_function_epilogue): Emit RTE instruction for interrupt
-       functions.
-
 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
 
        * gengenrtl.c (find_formats, genheader): Make i an unsigned