1. 18 May, 2011 18 commits
    • re PR middle-end/45098 (Missed induction variable optimization) · b5ee6752
      2011-05-18  Tom de Vries  <tom@codesourcery.com>
      
      	PR target/45098
      	* tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.
      
      From-SVN: r173872
      Tom de Vries committed
    • initializer_list: Use noexcept specifier. · 5d861bf2
      2011-05-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* libsupc++/initializer_list: Use noexcept specifier.
      	(initializer_list<>::size, begin, end): Qualify as const.
      	* include/bits/move.h (__addressof, forward, move, addressof): Specify
      	as noexcept.
      	* include/std/bitset: Use noexcept specifier throughout.
      	* include/debug/bitset: Update.
      	* include/profile/bitset: Likewise.
      
      From-SVN: r173871
      Paolo Carlini committed
    • i386.md (*tls_global_dynamic_32_gnu): Split asm template. · 0bda47a3
      	* config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template.
      	(*tls_global_dynamic_64): Ditto.
      	(*tls_local_dynamic_base_32_gnu): Ditto.
      	(*tls_local_dynamic_base_64): Ditto.
      	(tls_initial_exec_64_sun): Ditto.
      
      From-SVN: r173870
      Uros Bizjak committed
    • re PR c++/48948 ([C++0x] constexpr friend function cannot be defined in-class) · 0515f4d2
      	PR c++/48948
      	PR c++/49015
      	* class.c (finalize_literal_type_property): Do check
      	for constexpr member functions of non-literal class.
      	(finish_struct): Don't call check_deferred_constexpr_decls.
      	* cp-tree.h: Don't declare it.
      	(DECL_DEFERRED_CONSTEXPR_CHECK): Remove.
      	* decl.c (grok_special_member_properties): Don't check it
      	(grokfnedcl): Don't call validate_constexpr_fundecl.
      	(start_preparsed_function): Do call it.
      	* pt.c (tsubst_decl): Don't call it.
      	(instantiate_class_template_1): Don't call
      	check_deferred_constexpr_decls.
      	* semantics.c (literal_type_p): Check for any incompleteness.
      	(ensure_literal_type_for_constexpr_object): Likewise.
      	(is_valid_constexpr_fn): Revert deferral changes.
      	(validate_constexpr_fundecl): Likewise.
      	(register_constexpr_fundef): Likewise.
      	(check_deferred_constexpr_decls): Remove.
      
      From-SVN: r173869
      Jason Merrill committed
    • mcpu-bf592.c: New test. · 41d471d6
      2011-05-18  Stuart Henderson  <shenders@gcc.gnu.org>
      
          * gcc.target/bfin/mcpu-bf592.c: New test.
      
      From-SVN: r173868
      Stuart Henderson committed
    • invoke.texi (Blackfin Options): -mcpu accepts bf592. · 033b0805
      2011-05-18  Stuart Henderson  <shenders@gcc.gnu.org>
      
          * doc/invoke.texi (Blackfin Options): -mcpu accepts bf592.
          * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
          bf592-none.
          * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
          * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
          * config/bfin/bfin.c (bfin_cpus): Add bf592.
          * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
          __ADSPBF592__ and __ADSPBF59x__ for     BFIN_CPU_BF592.
          * config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592.
          * config/bfin/elf.h (LIB_SPEC): Add bf592.
      
      From-SVN: r173867
      Stuart Henderson committed
    • arm-opts.h (enum arm_fp16_format_type, [...]): Move from arm.h. · ba163417
      	* config/arm/arm-opts.h (enum arm_fp16_format_type, enum
      	arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from
      	arm.h.
      	* config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi,
      	target_thread_pointer, arm_structure_size_boundary, struct
      	float_abi, all_float_abis, struct fp16_format, all_fp16_formats,
      	struct abi_name, arm_all_abis): Remove.
      	(arm_option_override) Don't process most enumerated option values
      	here.  Don't process target_fpe_name here.  Work with integer not
      	string for structure size boundary; use separate diagnostics for
      	each case.
      	* config/arm/arm.h (enum float_abi_type, enum
      	arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move
      	to arm-opts.h.
      	(arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer,
      	arm_structure_size_boundary): Remove.
      	* config/arm/arm.opt (mabi=): Use Enum and Init.
      	(arm_abi_type): New Enum and EnumValue entries.
      	(mfloat-abi=): Use Enum and Init.
      	(float_abi_type): New Enum and EnumValue entries.
      	(mfp=, mfpe=): Replace by separate Alias entries for each
      	argument.
      	(mfp16-format=): Use Enum and Init.
      	(arm_fp16_format_type): New Enum and EnumValue entries.
      	(mstructure-size-boundary=): Use UInteger and Init.
      	(mtp=): Use Enum and Init.
      	(arm_tp_type): New Enum and EnumValue entries.
      
      From-SVN: r173864
      Joseph Myers committed
    • re PR tree-optimization/49018 (Inline assembly block executed outside… · 179184e3
      re PR tree-optimization/49018 (Inline assembly block executed outside conditional check with "-O1 -ftree-vrp")
      
      2011-05-18  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/49018
      	* gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
      	* tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
      	gimple_has_side_effects.
      
      From-SVN: r173861
      Richard Guenther committed
    • gimple.c (gimple_register_type_1): New function, split out from ... · 93b2a207
      2011-05-18  Richard Guenther  <rguenther@suse.de>
      
      	* gimple.c (gimple_register_type_1): New function, split out from ...
      	(gimple_register_type): ... here.  Avoid infinite recursion.
      
      From-SVN: r173857
      Richard Guenther committed
    • re PR tree-optimization/41881 (Complete unrolling (inner) versus vectorization of reduction) · b010117a
      
      
              PR tree-optimization/41881
              * tree-vectorizer.h (struct _loop_vec_info): Add new field
              reduction_chains along with a macro for its access.
              * tree-vect-loop.c (new_loop_vec_info): Initialize
              reduction chains.
              (destroy_loop_vec_info): Free reduction chains.
              (vect_analyze_loop_2): Return false if
              vect_analyze_slp() returns false.
              (vect_is_slp_reduction): New function.
              (vect_is_simple_reduction_1): Call
              vect_is_slp_reduction.
              (vect_create_epilog_for_reduction): Support SLP
              reduction chains.
              * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow
              different definition types for reduction chains.
              (vect_supported_load_permutation_p): Don't allow
              permutations for reduction chains.
              (vect_analyze_slp_instance): Support reduction chains.
              (vect_analyze_slp): Try to build SLP instance from
              reduction chains.
              (vect_get_constant_vectors):  Handle reduction chains.
              (vect_schedule_slp_instance): Mark the first statement
              of the reduction chain as reduction.
      
      From-SVN: r173856
      Ira Rosen committed
    • tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new names for… · e14c1050
      tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new names for group elements access.
      
      
              * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new
              names for group elements access.
              * tree-vectorizer.h (struct _stmt_vec_info): Use interleaving info for
              reduction chains as well.  Remove data reference and interleaving
              related words from the fields names.
              * tree-vect-loop.c (vect_transform_loop): Use new names for group
              elements access.
              * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain,
               vect_insert_into_interleaving_chain, vect_update_interleaving_chain,
              vect_update_interleaving_chain, vect_same_range_drs,
              vect_analyze_data_ref_dependence, vect_update_misalignment_for_peel,
              vect_verify_datarefs_alignment, vector_alignment_reachable_p,
              vect_peeling_hash_get_lowest_cost, vect_enhance_data_refs_alignment,
              vect_analyze_group_access, vect_analyze_data_ref_access,
              vect_create_data_ref_ptr, vect_transform_strided_load,
              vect_record_strided_load_vectors): Likewise.
              * tree-vect-stmts.c (vect_model_simple_cost, vect_model_store_cost,
              vect_model_load_cost, vectorizable_store, vectorizable_load,
              vect_remove_stores, new_stmt_vec_info): Likewise.
              * tree-vect-slp.c (vect_build_slp_tree, 
              vect_supported_slp_permutation_p, vect_analyze_slp_instance): Likewise.
      
      From-SVN: r173855
      Ira Rosen committed
    • re PR middle-end/48989 (FAIL: gfortran.dg/lto/pr46036 f_lto_pr46036_0.o assemble) · 51c213f7
      2011-05-18  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/48989
      	* tree-cfg.c (verify_gimple_assign_unary): Adjust TRUTH op
      	operand verification.
      	(verify_gimple_assign_binary): Likewise.
      	* tree-ssa.c (useless_type_conversion_p): Preserve conversions
      	to non-1-precision BOOLEAN_TYPEs.
      
      From-SVN: r173854
      Richard Guenther committed
    • re PR middle-end/45098 (Missed induction variable optimization) · 8f5e5434
      2011-05-18  Tom de Vries  <tom@codesourcery.com>
      
      	PR target/45098
      	* tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.
      
      From-SVN: r173853
      Tom de Vries committed
    • re PR tree-optimization/49000 (ICE: verify_ssa failed with -O2 -g) · 116bc3a4
      	PR tree-optimization/49000
      	* tree-ssa.c (execute_update_addresses_taken): Call
      	maybe_rewrite_mem_ref_base on debug stmt value.  If it couldn't
      	be rewritten and decl has been marked for renaming, reset
      	the debug stmt.
      
      	* gcc.dg/pr49000.c: New test.
      
      From-SVN: r173849
      Jakub Jelinek committed
    • trans.c (Exception_Handler_to_gnu_sjlj): Use boolean_false_node instead of integer_zero_node. · bf6490b5
      2011-05-18  Kai Tietz <ktietz@redhat.com>
      
      	* gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
      	boolean_false_node instead of integer_zero_node.
      	(convert_with_check): Likewise.
      	* gcc-interface/decl.c (choices_to_gnu): Likewise.
      
      From-SVN: r173846
      Kai Tietz committed
    • i386.c (ix86_valid_target_attribute_tree): Use enum_opts_set when testing if… · 26a8964c
      i386.c (ix86_valid_target_attribute_tree): Use enum_opts_set when testing if attributes have set -mfpmath=.
      
      	* config/i386/i386.c (ix86_valid_target_attribute_tree): Use
      	enum_opts_set when testing if attributes have set -mfpmath=.
      
      From-SVN: r173845
      Joseph Myers committed
    • Daily bump. · 23a0e653
      From-SVN: r173843
      GCC Administrator committed
    • tuple: Use noexcept where appropriate. · 1aa1114b
      2011-05-17  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/tuple: Use noexcept where appropriate.
      	(tuple<>::swap): Rework implementation.
      	(_Head_base<>::_M_swap_impl): Remove.
      	(get(std::tuple<>&&)): Add.
      	* testsuite/20_util/tuple/element_access/get2.cc: New.
      	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
      	line number.
      
      From-SVN: r173838
      Paolo Carlini committed
  2. 17 May, 2011 16 commits
  3. 16 May, 2011 6 commits
    • opts-common.c (opt_enum_arg_to_value): New. · 8023568e
      	* opts-common.c (opt_enum_arg_to_value): New.
      	* opts.h (opt_enum_arg_to_value): Declare.
      	* config/i386/i386.opt (fpmath): Remove.
      	(mfpmath=): Use Enum, Init and Save.
      	(fpmath_unit): New Enum and EnumValue entries.
      	* config/i386/i386-c.c (ix86_pragma_target_parse): Update field
      	name for function fpmath state.
      	* config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
      	* config/i386/i386.c: Include diagnostic.h.
      	(ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
      	(ix86_target_string): Take enum fpmath_unit value instead of
      	string.
      	(ix86_debug_options): Update call to ix86_target_string.
      	(ix86_option_override_internal): Don't process fpmath strings
      	here.
      	(x86_function_specific_save, ix86_function_specific_restore):
      	Don't handle fpmath state specially.
      	(ix86_function_specific_print): Pass fpmath state to
      	ix86_target_string instead of printing in this function.
      	(ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
      	Handle enum attributes.
      	(IX86_ATTR_ENUM, ix86_opt_enum): New.
      	(ix86_valid_target_attribute_tree): Update option_strings
      	handling.  Handle fpmath as enum option.
      	(ix86_can_inline_p): Update field names for function fpmath state.
      	(ix86_expand_builtin): Update call to ix86_target_string.
      	* config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
      	(ix86_fpmath): Remove.
      	* config/i386/t-i386 (i386.o): Update dependencies.
      
      From-SVN: r173809
      Joseph Myers committed
    • re PR c++/48969 (ICE with -std=c++0x) · c22cb03b
      	PR c++/48969
      	* pt.c (deduction_tsubst_fntype): Use a VEC initially.
      
      From-SVN: r173805
      Jason Merrill committed
    • gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR. · 20c97ec9
      2011-05-16  Tobias Burnus  <burnus@net-b.de>
      
              * gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
              (Fortran 2008 status): Multi-image support for coarrays.
              (TR 19113 status): New section.
      
      From-SVN: r173804
      Tobias Burnus committed
    • * config/i386/i386.md (TLS patterns): Fix whitespace. · f402985a
      From-SVN: r173802
      Uros Bizjak committed
    • re PR preprocessor/48677 (cpp.exe broken ?) · 9e8d926e
      	PR preprocessor/48677
      	* cppspec.c (lang_specific_driver): Set new_decoded_options[0]
      	from decoded_options[0], not from itself.
      
      From-SVN: r173801
      Joseph Myers committed
    • * config/i386/constraints.md (z): Fix comment. Oh, well... · 4bc2a7a7
      From-SVN: r173800
      Uros Bizjak committed