OSDN Git Service

PR middle-end/19616
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 62ae653..ef8f274 100644 (file)
@@ -1,3 +1,180 @@
+2005-01-26  Steven Bosscher  <stevenb@suse.de>
+
+       PR middle-end/19616     
+       * tree.h (CALL_EXPR_TAILCALL): Add comment.
+       * calls.c (check_sibcall_argument_overlap_1): Revert the change
+       to this function from 2004-07-10.
+       * tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the
+       the current function for tail call optimizations if the address
+       of one of it its arguments is taken.
+
+2005-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (fold_rtx): Call equiv_constant only when necessary.
+
+2005-01-26  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * function.c (expand_function_end): If current_function_calls_alloca,
+       emit stack restore in a place that is reached when the function falls
+       through at the end.
+
+2005-01-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
+       rule to avoid matching inappropriate suffix rule.
+
+2005-01-26  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/19241
+       * tree-inline.c (copy_body_r): Do not walk subtrees after substituting.
+
+2005-01-26  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not
+       -lsyssim.  Wrap -lc -lsyssim in --start-group --end-group instead
+       of doubling.
+       (STARTFILE_SPEC): Add crti.o, before crtbegin.o.
+       <sim*>: Always use crt1.o, regardless of N in simN.
+       <!sim>: Drop support for -pg and -p variants; always use crt0.o.
+       (ENDFILE_SPEC): Add crtn.o, after crtend.o.
+       (CRT_CALL_STATIC_FUNCTION): Remove.
+       * config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always
+       use crt1.o, regardless of N in simN.
+       <!sim>: Drop support for -pg and -p variants; always use crt0.o.
+       (LIB_SPEC): Do not define; default to the one in config/cris/cris.h.
+       (CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special
+       case isystem setting.
+       (MAX_OFILE_ALIGNMENT): Correct to 32, not 16.
+
+2005-01-25  Ian Lance Taylor  <ian@airs.com>
+
+       * gimple-low.c (block_may_fallthru): Correct handling of
+       SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.
+
+2005-01-26  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (CPP_SPEC): Adjust the various mtune=
+       handlers to match indentation; nested under the mtune=* handler.
+       Similar for mcpu= and march=.
+
+2005-01-25  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/mips/linux.h (LIB_SPEC): Remove -rpath-link.
+       * config/mips/linux64.h (LIB_SPEC): Likewise.
+       * config/mn10300/linux.h (LIB_SPEC): Likewise.
+       * config/sh/linux.h (LIB_SPEC): Likewise.
+
+2005-01-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/frv/frv.c (frv_legitimize_tls_address): New.
+       (TARGET_HAVE_TLS): Define.
+       (FRV_SYMBOL_REF_TLS_P): Define.
+       (frv_override_options): Handle new register classes.
+       (frv_legitimate_address_p): Reject tls addresses.
+       (frv_legitimize_address): Handle TLS addresses.
+       (gen_inlined_tls_plt): New.
+       (gen_tlsmoff): New.
+       (frv_legitimize_tls_address): New.
+       (unspec_got_name): Add TLS entries.
+       (got12_operand): Add R_FRV_TLSMOFF12 case.
+       (frv_emit_move): Fixup TLS addresses.
+       (frv_emit_movsi): Legitimize TLS addresses.
+
+       * config/frv/frv.h (MASK_BIG_TLS): New.
+       (TARGET_BIG_TLS): New.
+       (HAVE_AS_TLS): Define.
+       (TARGET_SWITCHES): Add -mTLS and -mtls options.
+       (enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS.
+       (REG_CLASS_NAMES): Same.
+       (REG_CLASS_CONTENTS): Same.
+       (CONSTRAINT_LEN): New.
+       (REG_CLASS_FROM_CONSTRAINT): New.
+       (PREDICATE_CODES): Add symbolic_operand.
+
+       * config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF,
+       UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL,
+       UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX,
+       UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO,
+       R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI,
+       R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI,
+       R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG,
+       GR9_REG, GR14_REG, LRREG.
+       (type): Add load_or_call attribute.
+       ("load_or_call"): New reservation.
+       ("call_gettlsoff"): New.
+       ("tls_indirect_call"): New.
+       ("tls_load_gottlsoff12"): New.
+       ("tlsoff_hilo"): New.
+       ("tls_tlsdesc_ldd"): New.
+       ("tls_tlsoff_ld"): New.
+       ("tls_lddi"): New.
+
+       * config/frv/frv-protos.h (symbolic_operand): Protoize.
+
+       2005-01-25  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define.
+       * config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare.
+       * config/frv/frv.c (TLS_BIAS): Define.
+       (frv_output_dwarf_dtprel): New.
+
+2005-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/19579
+       * ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
+       both A and B, see if they don't clobber registers the other expr uses.
+
+2005-01-25  J"orn Rennecke <joern.rennecke@st.com>
+
+       * real.c (do_add): Initialize signalling and canonical members.
+
+       * real.c (real_from_integer): Zero out destination.
+
+2005-01-18  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimize/19337
+       * tree-inline.c (initialize_inlined_parameters): Copy
+       saved_static_chain_decl only.
+
+2005-01-25  Richard Henderson  <rth@redhat.com>
+
+       PR target/19556
+       PR target/19584
+       * config/i386/i386.c (x86_inter_unit_moves): Zero.
+       (ix86_preferred_reload_class): Rewrite fp-constant section, with
+       80387 enabled, to return a proper subclass.  Return the subset that
+       overlaps with GENERAL_REGS for PLUS.
+       * config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor.
+
+2005-01-25  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/19609
+       * tree-complex.c (expand_complex_div_wide): Use the correct formulae.
+
+2005-01-25  Roger Sayle  <roger@eyesopen.com>
+
+       * expmed.c (choose_multiplier): Change interface to return the
+       multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT.
+       (expand_divmod): Update calls to choose_multiplier.
+
+2005-01-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/19330
+       * expmed.c (extract_bit_field): Use adjust_address instead of
+       gen_lowpart when op0 is a MEM.
+
+2005-01-24  Steven Bosscher  <stevenb@suse.de>
+
+       * cfgexpand.c (expand_gimple_tailcall): Fix typo.
+
+2005-01-24  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/irix-csr.c: New file.
+       * config/mips/t-iris6 (irix-csr.o): New rule to build it.
+       (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
+       * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
+       executables.
+
 2005-01-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        PR bootstrap/19364
        * sh.c: Fix 1996 Copyright.
 
 2005-01-24  Richard Henderson  <rth@redhat.com>
-            Aldy Hernandez  <aldyh@redhat.com>
+           Aldy Hernandez  <aldyh@redhat.com>
 
-        * regrename.c (note_sets): Handle subregs.
+       * regrename.c (note_sets): Handle subregs.
 
 2005-01-24  Joseph S. Myers  <joseph@codesourcery.com>
 
        first label to see if it is a nonlocal label.
 
 2005-01-22  David Edelsohn  <edelsohn@gnu.org>
-            Andrew Pinski  <pinskia@physics.uc.edu>
+           Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR target/19491
        * config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at
 2004-01-05  Uros Bizjak  <uros@kss-loka.si>
 
        * doc/invoke.texi (Intel 386 and AMD x86-64 Options):
-        Replace i387 with 'i386 compiler' in -mfpmath=sse option.
+       Replace i387 with 'i386 compiler' in -mfpmath=sse option.
 
 2005-01-04  Roger Sayle  <roger@eyesopen.com>