OSDN Git Service

2007-07-06 Ian Lance Taylor <iant@google.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d76ac02..8bf43ab 100644 (file)
@@ -1,7 +1,164 @@
+2007-07-06  Ian Lance Taylor  <iant@google.com>
+            Zack Weinberg  <zackw@panix.com>
+
+       PR middle-end/32441
+       * builtins.c (std_expand_builtin_va_start): Don't use make_tree.
+
+2007-07-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/sh/sh.md (*prefetch_i4): Disable for TARGET_VXWORKS_RTP.
+       (prefetch): Likewise if "pref" would be used.
+
+2007-07-06  Josh Conner  <jconner@apple.com>
+
+       PR middle-end/32602
+       PR middle-end/32603
+       * calls.c (store_one_arg): Handle arguments which are partially
+       on the stack when detecting argument overlap.
+
+2007-07-06  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * reload1.c (choose_reload_regs): Set reload_spill_index for regs
+       chosen during find_reloads.
+
+2007-07-06  Richard Guenther  <rguenther@suse.de>
+
+       * gimplify.c (gimplify_call_expr): Prefer DECL_ARGUMENTS over
+       TYPE_ARG_TYPES for verification of argument types.  Use
+       DECL_ARG_TYPE instead of the PARM_DECL type.  Take excess
+       parameters as variable arguments.
+
+2007-07-06  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * libgcc2.h (word_type): Type definition removed.
+       (cmp_return_type, shift_count_type): Type definitions added.
+       (__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
+       replaced with shift_count_type.
+       (__cmpdi2, __ucmpdi2): word_type of return type replaced with
+       cmp_return_type.
+       * libgcc2.c (__udivmoddi4, __moddi3): Type of local variable c
+       changed from word_type to Wtype.
+       (__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
+       replaced with shift_count_type.
+       (__cmpdi2, __ucmpdi2): word_type of return type replaced with
+       cmp_return_type.
+       * c-common.c (handle_mode_attribute): Handling for libgcc_cmp_return and
+       libgcc_shift_count attribute added.
+       * target-def.h (TARGET_LIBGCC_CMP_RETURN_MODE,
+       TARGET_LIBGCC_SHIFT_COUNT_MODE): New target hooks defined.
+       (TARGET_INITIALIZER): New target hooks added.
+       * targhooks.c (default_libgcc_cmp_return_mode,
+       default_libgcc_shift_count_mode): Default implementations for the new
+       target hooks added.
+       * targhooks.h (default_libgcc_cmp_return_mode,
+       default_libgcc_shift_count_mode): Function prototypes added.
+       * target.h (struct gcc_target): Fields for the new target hooks added.
+       * optabs.c (expand_binop): Use shift_count_mode when expanding shift
+       as library call.
+       (prepare_cmp_insn): Use cmp_return_mode when expanding comparison as
+       library call.
+
+       * doc/tm.texi (TARGET_LIBGCC_CMP_RETURN_MODE,
+       TARGET_LIBGCC_SHIFT_COUNT_MODE): Documentation added.
+
+       * config/s390/s390.c (s390_libgcc_cmp_return_mode,
+       s390_libgcc_shift_count_mode): Functions added.
+       (TARGET_LIBGCC_CMP_RETURN_MODE, TARGET_LIBGCC_SHIFT_COUNT_MODE): Target
+       hooks defined.
+
+2007-07-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.c (compute_frame_size): Restore the original
+       gp_sp_offset for !GENERATE_MIPS16E_SAVE_RESTORE and remove the
+       fp_size term from the GENERATE_MIPS16E_SAVE_RESTORE calculation.
+       Document why the difference is needed.
+
+2007-07-06  Richard Guenther  <rguenther@suse.de>
+
+       * c-common.c (boolean_increment): Use correctly typed
+       constant.
+
+2007-07-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.c (mips16e_save_restore_pattern_p): Check that
+       the topmost argument register is not also included in the save mask.
+       (mips16e_collect_argument_save_p): Take a pointer to the argument
+       register, rather than a pointer to the number of arguments.
+       (mips16e_collect_argument_saves): Only include argument saves
+       that aren't in the register mask.
+
+2007-07-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl_optimization/32450
+       * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
+       to ensure that instructions are not moved into the prologue when
+       profiling is on.  Remove unused prologue_end variable.
+       (expand_function_end): Emit blockage insn instead of ASM_INPUT rtx
+       as a scheduling barrier.
+
+2007-07-06  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/23551
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+       Disregard DECL_FROM_INLINE.
+
+2007-07-05  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * rtlanal.c (num_sign_bit_copies1): Improve cases of ANDing or
+       IORing with a constant.
+
+2007-07-05  Seongbae Park  <seongbae.park@gmail.com>
+
+       PR rtl-optimization/32475
+       * df-scan.c (df_def_record_1): Add a use of the stack pointer
+       for every definition of the stack pointer.
+
+2007-07-05  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (vfp3_const_double_index): Copy signed results of
+       REAL_VALUE_TO_INT into unsigned vars.
+
+2007-07-05  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/32639
+       * alias.c (get_alias_set): Tread METHOD_TYPE the same as
+       FUNCTION_TYPE.
+       * tree-ssa.c (useless_type_conversion_p): Check canonical
+       types early.
+
+2007-07-05 Anatoly Sokolov <aesok@post.ru>
+
+       * config/avr/avr.md (zero_extendqihi2, zero_extendqisi2, 
+       zero_extendhisi2): Change to define_insn_and_split. 
+       (zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New.
+
+2007-07-05  Paolo Bonzini  <bonzini@gnu.org>
+
+       * function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
+       pass_match_asm_constraints): New.
+       * passes.c (init_optimization_passes): Add new pass.
+       * stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
+       * function.h (struct function): Add has_asm_statement bit.
+       (current_function_has_asm_statement): New.
+       * tree-pass.h (pass_match_asm_constraints): New.
+
+2007-07-05  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_file_start): Avoid declaration
+       after code.
+
+2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * optabs.c (expand_binop_directly): Fix signed/unsigned comparison.
+
+2007-07-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       * rtl.def (NOTE): Change print format string to print
+       operand 5 as a note insn name.
+
 2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
            David Ung  <davidu@mips.com>
 
-       gcc/
        * config/mips/mips.c (mips_cpu_info): Add 4ksc and 4ksd processors.
        * doc/invoke.texi: (MIPS Options): Document them.
 
        (vect_do_peeling_for_loop_bound): Don't call
        vect_estimate_min_profitable_iters. Instead, lookup
        LOOP_VINFO_COST_MODEL_MIN_ITERS. Don't always print
-       "may not be profitable".        
+       "may not be profitable".
 
 2007-07-05  Dorit Nuzman  <dorit@il.ibm.com>
 
 
        PR tree-optimization/32604
        PR tree-optimization/32606
-       
+
        * tree-ssa-pre.c (bb_bitmap_sets): Removed antic_safe_loads.
        (compute_antic_safe): Removed.
        (ANTIC_SAFE_LOADS): Ditto.