OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2e34022..fc9a9fe 100644 (file)
@@ -1,3 +1,130 @@
+2008-11-18  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
+       (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add new cases to
+       mipsisa*-*-elf*.  Handle mipsisa64r2*.
+       * config/mips/sde.h (LINK_SPEC): Handle -mips64r2.
+       * config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
+       mips64r2.
+       (MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.
+       * config/mips/t-sde (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
+       mips64r2.
+       (MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.  Add mips64r2/mips16.
+       Fix mips16 if mips64 or mips64r2 are multilib defaults.
+       * config/mips/t-sdemtk (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
+       mips64r2.
+
+2008-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/38130
+       * config/i386/i386.md (allocate_stack_worker_32,
+       allocate_stack_worker_64): Don't use match_dup between input and
+       output operand.
+       (allocate_stack): Adjust gen_stack_worker_{32,64} caller.
+       * config/i386/i386.c (ix86_expand_prologue): Likewise.
+
+2008-11-18  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/t-cygming (SHLIB_LINK): Make sure that $(SHLIB_MAP).def
+       is forced when trying to do a symbol link for it.
+
+2008-11-17  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * expmed.c (extract_bit_field_1): Also use a temporary and
+       convert_extracted_bit_field when the conversion from ext_mode to
+       the target mode requires explicit truncation.
+
+2008-11-17  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.h (REG_ALLOC_ORDER): Put accumulators first.
+       Tweak formatting.
+       * config/mips/mips.c (mips_ira_cover_classes): Don't use accumulator
+       registers when not optimizing.
+
+2008-11-17  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.md (*mul_acc_si): Remove middle alternative
+       and its associated define_split.  Expose the all-d alternative
+       to the register allocator, but mark it with "?".  Mark the first
+       alternative with "*?*?".
+       (*mul_sub_si): Likewise.
+       (*mul_acc_si_r3900): New pattern.
+
+2008-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/38140
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If
+       propagating x = &a into *x = b, add a cast if not useless
+       type conversion or don't optimize if another stmt would be
+       needed.
+
+2008-11-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/37908
+       * optabs.c (expand_sync_operation): Properly handle NAND case
+       by calculating ~(t1 & val) instead of (~t1 & val).
+       * builtins.c (expand_builtin_sync_operation): Warn for changed
+       semantics in NAND builtins.
+       * c.opt (Wsync-nand): New warning option.  Describe -Wsync-nand.
+       
+       * doc/invoke.texi (Warning options): Add Wsync-nand.
+       * doc/extend.texi (Atomic Builtins) [__sync_fetch_and_nand]: Correct
+       __sync_fetch_and_nand builtin operation in the example.  Add a note
+       about changed semantics in GCC 4.4.
+       [__sync_nand_and_fetch]: Correct __sync_nand_and_fetch builtin
+       operation in the example.  Add a note about changed semantics in
+       GCC 4.4.
+
+2008-11-16  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_function_body_availability): Fix test of externally
+       visible.
+
+2008-11-16  Joshua Kinard  <kumba@gentoo.org>
+
+       * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=r1[0246]000
+       to -mips4.
+
+2008-11-16  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR target/38052
+       * config/mips/mips.c (mips_cfun_call_saved_reg_p)
+       (mips_cfun_might_clobber_call_saved_reg_p): New functions,
+       split out from...
+       (mips_save_reg_p): ...here.  Always consult TARGET_CALL_SAVED_GP
+       rather than call_really_used_regs when handling $gp.
+
+2008-11-16  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR target/38052
+       * config/mips/mips.c (machine_function): Update the comment
+       above global_pointer.
+       (mips_global_pointer): Use INVALID_REGNUM rather than 0 to indicate
+       that a function doesn't need a global pointer.
+       (mips_current_loadgp_style): Update accordingly.
+       (mips_restore_gp): Likewise.
+       (mips_output_cplocal): Likewise.
+       (mips_expand_prologue): Likewise.
+
+2008-11-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.c (function_arg_vector_value): Remove 'base_mode'
+       parameter.  Use DImode for computing the number of registers.
+       (function_arg): Adjust for above change.
+       (function_value): Likewise.
+
+2008-11-15  Zdenek Dvorak  <ook@ucw.cz>
+
+       PR tree-optimization/37950
+       * tree-flow-inline.h (memory_partition): Return NULL when aliases were
+       not computed for the current function.
+
+2008-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/38123
+       * config/i386/i386.c (ix86_gimplify_va_arg): Don't share valist between
+       gpr and other COMPONENT_REFs.
+
 2008-11-15  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/38051
 
        * configure.ac (gcc_cv_libc_provides_ssp): Also consider GNU/Hurd
        systems, which are assumend to always provide SSP-support in glibc.
-       * configure: Regenerate.
-
-       * configure.ac (gcc_cv_libc_provides_ssp): Also consider GNU/kFreeBSD,
-       GNU/kNetBSD systems in the `*-*-linux*' case.
+       Also consider GNU/kFreeBSD, GNU/kNetBSD systems in the `*-*-linux*'
+       case.
        * configure: Regenerate.
 
 2008-11-14  Jakub Jelinek  <jakub@redhat.com>
 2008-11-13  Thomas Schwinge  <tschwinge@gnu.org>
 
        PR target/28102
-       * config.gcc (*-*-gnu*): Move Alpha parts into the `alpha*-*-gnu*', x86
-       parts into the `i[34567]86-*-linux*' and parts that are independent of
-       the processor architecture into the `*-*-linux*' cases.
+       * config.gcc (*-*-gnu*): Move Alpha parts into the `alpha*-*-gnu*',
+       x86 parts into the `i[34567]86-*-linux*' and parts that are
+       independent of the processor architecture into the `*-*-linux*' cases.
        (*-*-linux*): Consider `linux.opt' only for Linux-based configurations.
        * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Redefine.
        (TARGET_OS_CPP_BUILTINS, LINK_SPEC): Don't redefine.
 2008-11-11  Richard Sandiford  <rdsandiford@googlemail.com>
 
        PR rtl-optimization/37363
-       * simplify-rtx.c (simplify_plus_minus): Don't create (const (minus ...))
-       expresisons.
+       * simplify-rtx.c (simplify_plus_minus): Don't create
+       (const (minus ...)) expresisons.
 
 2008-11-11  Eric Botcazou  <ebotcazou@adacore.com>