OSDN Git Service

Support "andhi/andsi/anddi" as a zero-extending move.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3525466..538551d 100644 (file)
@@ -1,3 +1,210 @@
+2010-10-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/45913
+       * config/i386/i386.c (ix86_binary_operator_ok): Support
+       "andhi/andsi/anddi" as a zero-extending move.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * builtins.c (fold_call_stmt): Don't copy gimple call arguments
+       into a temporary array.
+
+2010-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/45903
+       * simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
+       of *SHIFTRT of MEM.
+
+2010-10-08  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
+       Re-construct BLOCK_VARS.
+       (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
+       * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
+       * tree.c (free_lang_data_in_block): Remove.
+       (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
+       Do not touch the BLOCK tree.
+       * expr.c (expand_expr_real_1): Allow externals.
+
+2010-10-08  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer-out.c (lto_output_ts_block_tree_pointers):
+       Do not output BLOCK_SUBBLOCKS.
+       * lto-streamer-in.c (lto_input_ts_block_tree_pointers):
+       Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
+       Re-construct BLOCK_SUBBLOCKS of parent block.
+       (lto_input_ts_binfo_tree_pointers): Reserve exact space needed
+       for BINFO_BASE_ACCESSES.
+
+2010-10-08  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
+       (TREE_H): Include $(FLAGS_H) instead of options.h.
+       (opts-common.o): Depend on $(FLAGS_H) instead of options.h.
+       * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
+       * common.opt (flag_complex_method, flag_evaluation_order,
+       flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
+       Variable declarations.
+       * configure.ac (tm_include_list): Include flags.h instead of
+       options.h.
+       * configure: Regenerate.
+       * flags.h: Condition out contents for target libraries.  Include
+       options.h at end of file.
+       (flag_complex_method, flag_ira_algorithm, flag_ira_region,
+       flag_evaluation_order, flag_warn_unused_result): Remove.
+       * gcc.c (main): Intialize global_options with global_options_init.
+       * langhooks-def.h (lhd_init_options_struct): Declare.
+       (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
+       (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
+       * langhooks.c (lhd_init_options_struct): New.
+       * langhooks.h (struct lang_hooks): Add init_options_struct.
+       Update comment on init_options.
+       * optc-gen.awk: Generate initializer for global_options_init, not
+       global_options.
+       * opth-gen.awk: Condition out structure declarations for target
+       libraries.  Declare global_options_init.
+       * opts-common.c: Include flags.h instead of options.h.
+       * opts.c (flag_warn_unused_result): Remove.
+       (read_cmdline_options): Take gcc_options parameters.  Pass them to
+       read_cmdline_option.
+       (initial_lang_mask, initial_min_crossjump_insns,
+       initial_max_fields_for_field_sensitive,
+       initial_loop_invariant_max_bbs_in_loop): Define at file scope.
+       (init_options_once): New.  Split out of decode_options.
+       (init_options_struct): New.  Split out of decode_options.
+       (decode_cmdline_options_to_array_default_mask): New.
+       (default_options_optimization): New.  Split out of decode_options.
+       (decode_options): Move most code to other functions.  Update call
+       to read_cmdline_options.
+       (finish_options): New.  Split out of decode_options.
+       * opts.h (decode_options): Add gcc_options parameters.
+       (init_options_once, init_options_struct,
+       decode_cmdline_options_to_array_default_mask): New.
+       * toplev.c (flag_complex_method, flag_ira_algorithm,
+       flag_ira_region, flag_evaluation_order): Remove.
+       (general_init): Use global_options_init for initial flag values
+       for global_dc.
+       (toplev_main): Call init_options_once, init_options_struct,
+       lang_hooks.init_options_struct,
+       decode_cmdline_options_to_array_default_mask and
+       lang_hooks.init_option before decode_options.  Update arguments to
+       decode_options.
+       * tree.h: Include flags.h instead of options.h.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/sparc/sparc-protos.h (function_arg_advance, function-arg):
+       Delete.
+       * config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
+       (FUNCTION_INCOMING_ARG): Delete.
+       * config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
+       (function_arg_slotno): Likewise.  Take bool arguments.
+       (sparc_arg_partial_bytes): Update call to it.
+       (function_arg): Rename to...
+       (sparc_function_arg_1): ...this.  Take bool arguments.
+       (sparc_function_arg, sparc_function_incoming_arg): New functions.
+       (function_arg_advance): Rename to...
+       (sparc_function_arg_advance): ...this.  Take bool argument.
+       (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
+       (TARGET_FUNCTION_INCOMING_ARG): Define.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/bfin/bfin-protos.h (function_arg, function_arg_advance):
+       Delete.
+       * config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+       * config/bfin/bfin.c (function_arg_advance): Rename to...
+       (bfin_function_arg_advance): ...this.  Make static.  Take const_tree
+       and bool arguments.
+       (function_arg): Rename to...
+       (bfin_function_arg): ...this.  Make static.  Take const_tree and bool
+       arguments.
+       (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/score/score-protos.h (score_function_arg): Delete.
+       (score_function_arg_advance): Delete.
+       * config/score/score3.h (score3_function_arg_advance): Take a
+       const_tree and a bool.
+       (score3_function_arg): Likewise.
+       * config/score/score7.h (score7_function_arg_advance): Likewise.
+       (score7_function_arg): Likewise.
+       * config/score/score3.c (score3_classify_arg): Likewise.
+       (score3_function_arg_advance, score3_function_arg): Likewise.
+       * config/score/score7.c (score7_classify_arg): Likewise.
+       (score7_function_arg_advance, score7_function_arg): Likewise.
+       * config/score/score.c (score_function_arg_advance): Likewise.
+       (score_function_arg): Likewise.  De-const-ify `cum' argument.
+       (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/s390/s390-protos.h (s390_function_arg_advance): Delete.
+       (s390_function_arg): Delete.
+       * config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+       * config/s390/s390.c (s390_function_arg_float): Take a const_tree.
+       (s390_function_arg_integer): Likewise.
+       (s390_function_arg_advance): Make static.  Take a const_tree and
+       a bool.
+       (s390_function_arg): Likewise.
+       (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/spu/spu-protos.h (spu_function_arg): Delete.
+       * config/spu/spu.h (FUNCTION_ARG): Delete.
+       (FUNCTION_ARG_ADVANCE): Move code to ...
+       * config/spu/spu.c (spu_function_arg_advance): New function.
+       (spu_function_arg): Make static.  Take a const_tree and a bool.
+       (spu_setup_incoming_varargs): Call spu_function_arg_advance.
+       (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
+       (init_vn_nary_op_from_op): New function.
+       (init_vn_nary_op_from_stmt): New function.
+       (vn_nary_op_lookup_1): New function.
+       (sizeof_vn_nary_op): New function.
+       (alloc_vn_nary_op_noinit): New function.
+       (alloc_vn_nary_op): New function.
+       (vn_nary_op_insert_into): New function.
+       (vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
+       (vn_nary_op_lookup): Likewise.
+       (vn_nary_op_lookup_stmt): Likewise.
+       (vn_nary_op_insert_pieces): Likewise.
+       (vn_nary_op_insert): Likewise.
+       (vn_nary_op_insert_stmt): Likewise.
+       (copy_nary): Likewise.
+       (set_value_id_for_result): New function.
+       (set_hashtable_value_ids): Call it.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+       * config/fr30/fr30.md (leave_func): Rewrite without post_inc.
+
+2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
+       * config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+
+2010-10-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/45656
+       * cse.c (cse_extended_basic_block): Preserve cc0 info across
+       debug isnsn.  Skip them when searching for cc0 setter.
+       (set_live_p): Skip debug insns when searching for cc0 user.
+
 2010-10-08  Alexandre Oliva  <aoliva@redhat.com>
 
        PR debug/45673
 
 2010-10-07  Tejas Belagod  <tejas.belagod@arm.com>
 
+       PR Tree-Vect/45847
        * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
        check for vectype_out returned by get_vectype_for_scalar_type().
 
 2010-10-07  Tejas Belagod  <tejas.belagod@arm.com>
 
+       PR target/45805
        * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
        constraint, add register specifier in instruction template.
        (neon_vec_pack_trunc_<mode>): Likewise.