OSDN Git Service

2009-04-13 Ozkan Sezer <sezeroz@gmail.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 1df36ee..c0ad64a 100644 (file)
+2009-04-13  Ozkan Sezer  <sezeroz@gmail.com>
+
+       PR/39066
+       * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Use __SIZE_TYPE__
+       instead of unsigned long.
+
+2009-04-13  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       * config/arm/arm.c (return_used_this_function): Remove.
+       (arm_output_function_prologue): Remove use of
+       return_used_this_function.
+       (output_return_instruction): Replace use of
+       return_used_this_function
+       by cfun->machine->return_used_this_function.
+       (arm_output_epilogue): Likewise.
+       (arm_output_function_epilogue): Likewise.
+       (thumb_unexpanded_epilogue): Likewise.
+       * config/arm/arm.h (struct machine_function):
+       New member return_used_this_function.
+       
+2009-04-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/install.texi: Correct description of default directory for
+       --with-gxx-include-dir.
+
+2009-04-12 Eric Botcazou <ebotcazou@adacore.com>
+
+       * fold-const.c (build_range_check): Properly deal with enumeral and
+       boolean base types.
+
+2009-04-12  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * doc/invoke.texi (max_gcse_passes): Remove documentation.
+       * params.def (PARAM_MAX_GCSE_PASSES): Remove.
+       * params.h (MAX_GCSE_PASSES): Remove.
+       * gcse.c (gcse_main): Run CPROP1, PRE or HOIST, and CPROP2
+       in sequence.  Remove ability to run multiple passes.
+       (bypass_jumps): Report run as third CPROP pass.
+
+2009-04-12  Adam Nemet  <anemet@caviumnetworks.com>
+
+       PR middle-end/39651
+       * except.c (can_throw_external): Look at each insn in a SEQUENCE
+       when deciding whether the whole SEQUENCE can throw.
+
+2009-04-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/39740
+       * config/alpha/predicates.md (local_symbolic_operand): Return 1 for
+       offseted label references.
+
+2009-04-11  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-pre.c (eliminate): Fix call of update_stmt.
+
+2009-04-11  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/39732
+       * tree-inline.c (declare_return_variable): Mark DECL_BY_REFERENCE
+       return variables as TREE_ADDRESSABLE.
+
+2009-04-11  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/39713
+       * tree-ssa-sccvn.c (vn_get_expr_for): Make sure built
+       reference trees have SSA_NAME operands.
+
+2009-04-11  Richard Guenther  <rguenther@suse.de>
+
+       PR c/39712
+       * c-gimplify.c (c_gimplify_expr): Adjust check for mismatched
+       address expressions.
+
+2009-04-11  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       * config/i386/cygwin-stdint.h (INT_LEAST32_TYPE):  Update to
+       match changes in Cygwin 1.7
+       (UINT_LEAST32_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE,
+       UINT_FAST16_TYPE, UINT_FAST32_TYPE):  Likewise.
+
+2009-04-10  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR tree-optimization/39701
+       * doc/invoke.texi (Optimization Options): Document change in
+       meaning and initialization of -fdelete-null-pointer-checks.
+
+2009-04-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/39701
+       * common.opt (-fdelete-null-pointer-checks): Initialize to 1.
+
+       * opts.c (decode_options): Don't set flag_delete_null_pointer_checks
+       here.
+
+       * doc/invoke.texi: Update -fdelete-null-pointer-checks.
+
+2009-04-10  Chao-ying Fu  <fu@mips.com>
+
+       * doc/tm.texi (Instruction Output): Document
+       TARGET_ASM_FINAL_POSTSCAN_INSN.
+       * target.h (final_postscan_insn): New field in asm_out.
+       * target-def.h (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
+       (TARGET_ASM_OUT): Add TARGET_ASM_FINAL_POSTSCAN_INSN.
+       * final.c (final_scan_insn): Call
+       targetm.asm_out.final_postscan_insn after outputting
+       an asm macro and a normal instruction.
+
+       * config/mips/mips.h (FINAL_PRESCAN_INSN): New define.
+       * config/mips/mips-protos.h (mips_final_prescan_insn): Declare.
+       * config/mips/mips.c (mips_at_reg_p): New for_each_rtx callback.
+       (mips_final_prescan_insn, mips_final_postscan_insn): New functions.
+       (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
+
+2009-04-10  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR middle-end/39701
+       * fold-const.c (tree_single_nonzero_warnv_p): Pass non-static
+       variables as non-NULL even with -fdelete-null-pointer-checks.
+
+2009-04-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/rs6000/darwin-vecsave.asm: Remove extra "*/".
+
+2009-04-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/39678
+       * config/i386/i386.c (classify_argument): Handle SCmode with
+       (bit_offset % 64) != 0.
+
+2009-04-09  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi (Optimize Options): Add cross-reference to
+       -Q --help=optimizers examples.
+
+2009-04-10  Ben Elliston  <bje@au.ibm.com>
+
+       PR target/36800
+       * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Do not set
+       regalign for the reg == fpr and TDmode case.
+
+2009-04-09  David Ayers  <ayers@fsfe.org>
+
+       PR objc/29200
+       * objc/objc-act.c (warn_with_method): Remove helper function.
+       (check_duplicates): Call warning and inform directly.
+       (really_start_method): Likewise.
+
+2009-04-09  Paolo Bonzini  <bonzini@gnu.org>
+
+       * expmed.c (expand_divmod): Always use a comparison for a division
+       by a large unsigned integer.
+
+       * fold-const.c (tree_single_nonzero_warnv_p): Always treat decls
+       for things others than variables or functions as nonzero.
+
 2009-04-09  Nick Clifton  <nickc@redhat.com>
 
        * unwind-compat.c: Change copyright header to refer to version
        3 of the GNU General Public License with version 3.1 of the
        GCC Runtime Library Exception and to point readers at the
-       COPYING3 and COPYING3.RUNTIME files and the FSF's license web
-       page.
+       COPYING3 and COPYING3.RUNTIME files and the FSF's license web page.
        * config/alpha/crtfastmath.c: Likewise.
        * config/alpha/linux-unwind.h: Likewise.
        * config/alpha/qrnnd.asm: Likewise.
 
 2009-04-09  Paolo Bonzini  <bonzini@gnu.org>
 
-        * config/i386/i386.md (cmpcc): New.
-        * config/i386/sync.md (sync_compare_and_swap*): Set FLAGS_REG.
-        (sync_compare_and_swap_cc*): Delete.
-
-        * config/s390/s390.c (s390_compare_emitted): Remove.
-        (s390_emit_compare): Handle MODE_CC s390_compare_op0 like
-        s390_compare_emitted used to be handled.  Assert that modes match.
-        (s390_emit_compare_and_swap): Use s390_emit_compare, do not
-        refer to sync_compare_and_swap_ccsi.
-        * config/s390/s390.h (s390_compare_emitted): Remove.
-        * config/s390/s390.md (seq): Look for MODE_CC s390_compare_op0
-        instead of s390_compare_emitted.
-        (stack_protect_test, sync_compare_and_swap_cc): Set s390_compare_op0
-        instead of s390_compare_emitted.
-        * config/s390/s390.md (cmpcc): New.
-        (sync_compare_and_swapqi, sync_compare_and_swaphi): Clobber
-        CC_REGNUM, do not pretend it's set.
-        (sync_compare_and_swap_cc*): Delete.
-        * config/s390/predicates.md (cc_reg_operand): New.
-
-        * expr.c (sync_compare_and_swap_cc): Delete.
-        * optabs.h (sync_compare_and_swap_cc): Delete.
-        * optabs.c (prepare_cmp_insn): Ignore which specific CCmode
-        is being used with can_compare_p.
-        (emit_cmp_and_jump_insn_1): Likewise when looking in the optab.
-        (find_cc_set): New.
-        (expand_bool_compare_and_swap): Do not use sync_compare_and_swap_cc,
-        look for a MODE_CC set instead.  Use emit_store_flag.
-        (expand_compare_and_swap_loop): Likewise, with some additional
-        complication to avoid a force_reg when useless.  Use
-        emit_cmp_and_jump_insns.
-        * genopinit.c (optabs): Delete sync_compare_and_swap_cc.
-        * doc/md.texi (sync_compare_and_swap_cc): Merge with
-        sync_compare_and_swap documentation.
+       * config/i386/i386.md (cmpcc): New.
+       * config/i386/sync.md (sync_compare_and_swap*): Set FLAGS_REG.
+       (sync_compare_and_swap_cc*): Delete.
+
+       * config/s390/s390.c (s390_compare_emitted): Remove.
+       (s390_emit_compare): Handle MODE_CC s390_compare_op0 like
+       s390_compare_emitted used to be handled.  Assert that modes match.
+       (s390_emit_compare_and_swap): Use s390_emit_compare, do not
+       refer to sync_compare_and_swap_ccsi.
+       * config/s390/s390.h (s390_compare_emitted): Remove.
+       * config/s390/s390.md (seq): Look for MODE_CC s390_compare_op0
+       instead of s390_compare_emitted.
+       (stack_protect_test, sync_compare_and_swap_cc): Set s390_compare_op0
+       instead of s390_compare_emitted.
+       * config/s390/s390.md (cmpcc): New.
+       (sync_compare_and_swapqi, sync_compare_and_swaphi): Clobber
+       CC_REGNUM, do not pretend it's set.
+       (sync_compare_and_swap_cc*): Delete.
+       * config/s390/predicates.md (cc_reg_operand): New.
+
+       * expr.c (sync_compare_and_swap_cc): Delete.
+       * optabs.h (sync_compare_and_swap_cc): Delete.
+       * optabs.c (prepare_cmp_insn): Ignore which specific CCmode
+       is being used with can_compare_p.
+       (emit_cmp_and_jump_insn_1): Likewise when looking in the optab.
+       (find_cc_set): New.
+       (expand_bool_compare_and_swap): Do not use sync_compare_and_swap_cc,
+       look for a MODE_CC set instead.  Use emit_store_flag.
+       (expand_compare_and_swap_loop): Likewise, with some additional
+       complication to avoid a force_reg when useless.  Use
+       emit_cmp_and_jump_insns.
+       * genopinit.c (optabs): Delete sync_compare_and_swap_cc.
+       * doc/md.texi (sync_compare_and_swap_cc): Merge with
+       sync_compare_and_swap documentation.
 
 2009-04-09  Jan Hubicka  <jh@suse.cz>
 
 
 2009-04-08  Paolo Bonzini  <bonzini@gnu.org>
 
-        * recog.c (ordered_comparison_operator): New.
-        * gensupport.c (std_preds): Add it.
+       * recog.c (ordered_comparison_operator): New.
+       * gensupport.c (std_preds): Add it.
        * doc/md.texi (Machine-Independent Predicates): Document it.
 
 2009-04-08  Jan Hubicka  <jh@suse.cz>
 2009-04-08 Bingfeng Mei <bmei@broadcom.com>
 
        * fold-const.c (const_binop): Combine two VECTOR_CST under operation 
-        CODE to produce a new one. Add a prototype to use fold_convert_const
+       CODE to produce a new one. Add a prototype to use fold_convert_const
 
 2009-04-08  Danny Smith  <dannysmith@users.sourceforge.net>
 
        (vect_do_peeling_for_alignment): Adjust.  Unconditionally apply
        the cost model check.
        (vect_loop_versioning): Take stmt and stmt list to put pre-condition
-       guards if we are going to peel.  Do not apply versioning in that
-       case.
+       guards if we are going to peel.  Do not apply versioning in that case.
        * tree-vectorizer.h (vect_loop_versioning): Adjust declaration.
        (vect_do_peeling_for_loop_bound): Likewise.
        * tree-vect-loop.c (vect_transform_loop): If we are peeling for
 
        PR rtl-optimization/39607
        PR rtl-optimization/39631
-       Revert
+
+       Revert:
+       
        2009-03-30  Vladimir Makarov  <vmakarov@redhat.com>
        * reload.c (push_reload, find_dummy_reload): Use df_get_live_out
        instead of DF_LR_OUT.
        (record_equivalences_from_stmt): Likewise.
        (avail_expr_hash): Likewise.
        (avail_expr_eq): Likewise.
-       * tree-ssa-propagate.c (update_call_from_tree): Properly
-       update VOPs.
+       * tree-ssa-propagate.c (update_call_from_tree): Properly update VOPs.
        (stmt_makes_single_load): Likewise.
        (stmt_makes_single_store): Likewise.
        * tree-ssa-alias.c: Rewrite completely.
        (PARAM_AVG_ALIASED_VOPS): Likewise.
        * tree-ssanames.c (init_ssanames): Allocate SYMS_TO_RENAME.
        (duplicate_ssa_name_ptr_info): No need to copy the shared bitmaps.
-       * tree-ssa-operands.c: Simplify for new virtual operand
-       representation.
+       * tree-ssa-operands.c: Simplify for new virtual operand representation.
        (operand_build_cmp, copy_virtual_operands,
        create_ssa_artificial_load_stmt, add_to_addressable_set,
        gimple_add_to_addresses_taken): Remove public functions.
        Also, make sure the function properly sets TYPE_STUB_DECL() on
        the newly created typedef variant type.
        * c-common.h (is_typedef_decl, set_underlying_type): Declare ...
-       * c-common.c (is_typedef_decl, set_underlying_type): ... new entry points.
+       * c-common.c (is_typedef_decl, set_underlying_type): ... new entry
+       points.
 
 2009-04-02  Richard Guenther  <rguenther@suse.de>
 
        * config/i386/i386.c (legitimate_constant_p): Recognize
        all one vector constant.
 
-2009-04-01     Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01  Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
 
        * gcc/config/vax/vax.c: Add #includes to silence warnings.
        Change #include order to silence two warnings.
 
-2009-04-01     Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01  Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
 
        * gcc/config/vax/linux.h (TARGET_DEFAULT): Add the MASK_QMATH flag bit.
        (ASM_SPEC): Pass -k to the assembler for PIC code.
 
-2009-04-01     Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01  Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
 
        * gcc/config.gcc: Add vax-*-linux* to the switch.
        * gcc/config/vax/linux.h: New file. (TARGET_VERSION,
        TARGET_OS_CPP_BUILTINS, TARGET_DEFAULT, CPP_SPEC, LINK_SPEC): Define.
 
-2009-04-01     Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01  Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
 
        * gcc/config/vax/vax.c (vax_output_int_move, adjacent_operands_p):
        Use predicate macros instead of GET_CODE() == foo.
        * gcc/config/vax/vax.md (movsi_2, movstrictqi, and<mode>3, ashrsi3,
        ashlsi3, rotrsi3, <unnamed>): Likewise.
 
-2009-04-01     Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01  Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
 
        * gcc/config/vax/builtins.md (jbbssiqi, jbbssihi, jbbssisi, jbbcciqi,
        jbbccihi, jbbccisi): Remova trailing whitespace.
        * gcc/config/vax/vax.h: Likewise.
        * gcc/config/vax/vax.md (nonlocal_goto): Likewise.
 
-2009-04-01     Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01  Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
 
        * gcc/config/vax/vax.c (vax_float_literal, vax_output_int_move)
        (indirectable_address_p, adjacent_operands_p): Add spaces around
        braces.
        * gcc/config/vax/vax-protos.h (adjacent_operands_p): Likewise.
 
-2009-04-01     Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01  Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
 
        * gcc/config/vax/vax.c (legitimate_constant_address_p,
        legitimate_constant_p, indirectable_address_p, nonindexed_address_p,
        vax_mode_dependent_address_p): Update comments to match functions
        modified by the recent int->bool conversion.
 
-2009-04-01     Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01  Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
 
        * gcc/config/vax/builtins.md: Update copyright message.
        * gcc/config/vax/constraints.md: Likewise.
        * gcc/config/vax/vax.md: Likewise.
        * gcc/config/vax/vax.opt: Likewise.
 
-2009-04-01     Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01  Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
 
        * gcc/config/vax/builtins.md (ffssi2, ffssi2_internal,
        sync_lock_test_and_set<mode>, sync_lock_release<mode>): Fix indention.
        * gcc/config/vax/vax.md (movsi, movsi_2, mov<mode>, call_value,
        untyped_call): Likewise.
 
-2009-04-01     Matt Thomas <matt@3am-software.com>
+2009-04-01  Matt Thomas <matt@3am-software.com>
 
-       * config/vax/predicates.md: New file. (symbolic_operand,
-       local_symbolic_operand, external_symbolic_operand,
+       * config/vax/predicates.md: New file.
+       (symbolic_operand, local_symbolic_operand, external_symbolic_operand,
        external_const_operand, nonsymbolic_operand, external_memory_operand,
        indirect_memory_operand, indexed_memory_operand,
        illegal_blk_memory_operand, illegal_addsub_di_memory_operand,
        nonimmediate_addsub_di_operand, general_addsub_di_operand): New
        predicate.
-       * config/vax/constraints.md: New file. (Z0, U06,  U08, U16, CN6, S08,
-       S16, I, J, K, L, M, N, O, G, Q, B, R, T): New constraint.
-       * config/vax/builtins.md: New file. (ffssi2, ffssi2_internal,
-       sync_lock_test_and_set<mode>, jbbssiqi, jbbssihi, jbbssisi,
-       sync_lock_release<mode>, jbbcciqi, jbbccihi, jbbccisi): Define.
+       * config/vax/constraints.md: New file.
+       (Z0, U06,  U08, U16, CN6, S08, S16, I, J, K, L, M, N, O, G, Q, B, R, T):
+       New constraint.
+       * config/vax/builtins.md: New file.
+       (ffssi2, ffssi2_internal, sync_lock_test_and_set<mode>, jbbssiqi,
+       jbbssihi, jbbssisi, sync_lock_release<mode>, jbbcciqi, jbbccihi,
+       jbbccisi): Define.
        * config/vax/vax.opt (mqmath): Add option.
        * config/vax/vax.md (isfx): Extend with DI.
        (VAXintQH, VAXintQHSD): Define.
        ASM_OUTPUT_DWARF_PCREL): Define.
        (ASM_SPEC): Change definition to allow PIC generation.
 
+2009-04-01  Steve Ellcey  <sje@cup.hp.com>
+
+       * doc/sourcebuild.texi: Update front-end requirements.
+
 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/39226
 
 2009-04-01  Rafael Avila de Espindola  <espindola@google.com>
 
-       * varasm.c (default_function_rodata_section): Declare DOT as const char*.
+       * varasm.c (default_function_rodata_section): Declare DOT as
+       const char*.
 
 2009-04-01  Kai Tietz  <kai.tietz@onevision.com>
            Andrey Galkin <agalkin@hypercom.com>
 2009-03-31  Joseph Myers  <joseph@codesourcery.com>
 
        * c-common.c (c_get_ident): New.
-       (c_common_nodes_and_builtins): Call it for type names that may be
-       NULL.
+       (c_common_nodes_and_builtins): Call it for type names that may be NULL.
 
 2009-04-01  Ben Elliston  <bje@au.ibm.com>