1. 26 Jul, 2012 3 commits
  2. 25 Jul, 2012 24 commits
    • Fix ChangeLog formatting. · f2962e2d
      From-SVN: r189873
      Oleg Endo committed
    • re PR target/54089 ([SH] Refactor shift patterns) · d8a48c21
      	PR target/54089
      	* config/sh/predicates.md (shift_count_operand): Handle not-SHMEDIA
      	case.
      	(p27_shift_count_operand, not_p27_shift_count_operand): New predicates.
      	* config/sh/sh.md (ashlsi3): Remove parallel and T_REG clobber
      	from expander.  Do not emit shift insn for not-SHMEDIA case.
      	(ashlsi3_std): Replace with ...
      	(ashlsi3_k, ashlsi3_d): ... these new insns.
      	* config/sh/sh.c (gen_ashift): Make static.  Add sanity checks.
      	Emit ashlsi3_k insn instead of ashlsi3_std in ASHIFT case.
      	(gen_ashift_hi): Make static.
      	* config/sh/sh-protos.h (gen_ashift, gen_ashift_hi): Remove forward
      	declaration.
      
      From-SVN: r189872
      Oleg Endo committed
    • Pass -be8 by default for armv7-a when configured big-endian. · b0c724c2
      config/arm/bpabi.h (BE8_LINK_SPEC): Set according to
      TARGET_BIG_ENDIAN_DEFAULT.
      
      Co-Authored-By: Jim Wilson <jimwilso@cisco.com>
      
      From-SVN: r189867
      Bharathi Seshadri committed
    • gimple-low.c (lower_try_catch): New function. · f778c049
      	* gimple-low.c (lower_try_catch): New function.
      	(lower_stmt) <GIMPLE_TRY>: Use it to lower GIMPLE_TRY_CATCH.
      	<GIMPLE_CATCH>: Delete.
      	<GIMPLE_EH_FILTER>: Likewise.
      
      From-SVN: r189865
      Eric Botcazou committed
    • expr.c (expand_expr_real_1): Do not expand operand #1 and #2 of BIT_FIELD_REF for ignored results. · ea814c66
      	* expr.c (expand_expr_real_1): Do not expand operand #1 and #2
      	of BIT_FIELD_REF for ignored results.
      	* fold-const.c (fold_ternary_loc) <BIT_FIELD_REF>: Check that the
      	CONSTRUCTOR has vector type before using vector accessors on it.
      	* gimplify.c (gimplify_compound_lval): Do not gimplify operand #1 and
      	#2 of BIT_FIELD_REF.
      	(gimplify_expr) <BIT_FIELD_REF>: Likewise.
      	* tree-nested.c (convert_nonlocal_reference_op) <BIT_FIELD_REF>: Do
      	not process operand #1 and #2.
      	(convert_local_reference_op): Likewise.
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Remove superfluous
      	breaks throughout.
      	<BIT_FIELD_REF>: Reuse operand #1 and #2 directly.
      	* tree.c (stabilize_reference) <BIT_FIELD_REF>: Do not stabilize
      	operand #1 and #2.
      	(UPDATE_FLAGS): Do not consider operand #2 of BIT_FIELD_REF.
      	(build6_stat): Delete.
      	* tree.h (build6_stat, build6, build6_stat_loc, build6_loc): Likewise.
      ada/
      	* gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
      	not stabilize operand #1 and #2.
      
      From-SVN: r189864
      Eric Botcazou committed
    • re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2) · 2514d7f1
      2012-07-25  François Dumont  <fdumont@gcc.gnu.org>
      
      	PR libstdc++/54075
      	* include/bits/hashtable.h
      	(_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
      	size_type, ...): Remove std::max usage to guarantee that hashtable
      	state is consistent with hash policy state.
      	(_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
      	the hashtable to be shrinking on next insertion.
      	* testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
      	* testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
      	* testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
      	* testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
      
      From-SVN: r189863
      François Dumont committed
    • re PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow) · 933a2c39
      2012-07-25 Marc Glisse <marc.glisse@inria.fr>
      
      	PR tree-optimization/30318
      	* tree-vrp.c (extract_range_from_binary_expr_1) [PLUS_EXPR]:
      	Handle __int128.
      	[MINUS_EXPR]: Merge with PLUS_EXPR.
      
      From-SVN: r189861
      Marc Glisse committed
    • re PR target/53633 (__attribute__((naked)) should disable -Wreturn-type) · d45eae79
      2012-07-25  Sandra Loosemore  <sandra@codesourcery.com>
      	    Paul Brook  <paul@codesourcery.com>
      
      	PR target/53633
      
      	gcc/
      	* target.def (warn_func_return): New hook.
      	* doc/tm.texi.in (TARGET_WARN_FUNC_RETURN): New hook.
      	* doc/tm.texi: Regenerate.
      	* doc/sourcebuild.texi (Effective-Target Keywords): Document
      	naked_functions.
      	* ipa-pure-const.c (warn_function_noreturn): Check
      	targetm.warn_func_return.
      	* tree-cfg.c (execute_warn_function_return): Likewise.
      	* config/spu/spu.c (spu_warn_func_return): New.
      	(TARGET_WARN_FUNC_RETURN): Define.
      	* config/rx/rx.c (rx_warn_func_return): New.
      	(TARGET_WARN_FUNC_RETURN): Define.
      	* config/avr/avr.c (avr_warn_func_return): New.
      	(TARGET_WARN_FUNC_RETURN): Define.
      	* config/arm/arm.c (arm_warn_func_return): New.
      	(TARGET_WARN_FUNC_RETURN): Define.
      	* config/mcore/mcore.c (mcore_warn_func_return): New.
      	(TARGET_WARN_FUNC_RETURN): Define.
      	(saved_warn_return_type, saved_warn_return_type_count): Remove.
      	(mcore_reorg, mcore_handle_naked_attribute): Remove warn_return hack.
      
      	gcc/cp/
      	* decl.c (finish_function): Check targetm.warn_func_return.
      
      	gcc/testsuite/
      	* lib/target-suports.exp (check_effective_target_naked_functions):
      	New.
      	* c-c++-common/pr53633.c: New test.
      
      Co-Authored-By: Paul Brook <paul@codesourcery.com>
      
      From-SVN: r189860
      Sandra Loosemore committed
    • trans-types.c (gfc_real16_is_float128): Fix spelling in a comment. · 62732c30
      2012-07-25  Tobias Burnus  <burnus@net-b.de>
      
              * trans-types.c (gfc_real16_is_float128): Fix spelling
              in a comment.
              * trans.h (struct gfc_array_info): Ditto.
              * gfortran.h (gfc_expr): Ditto.
              * simplify.c (gfc_count): Ditto.
              * trans-expr.c (gfc_copy_class_to_class,
              conv_parent_component_references,
              gfc_trans_pointer_assignment): Ditto.
              * expr.c (check_pointer_assign): Fix diagnostic spelling.
              * interface.c (compare_parameter): Ditto.
              * parse.c (use_modules, parse_associate): Ditto.
              * decl.c (match_char_length): Fix spelling of the
              an function argument.
      
      From-SVN: r189859
      Tobias Burnus committed
    • list_read.c (list_formatted_read_scalar): Fix copying real value back to temporary. · a35c9bef
      * io/list_read.c (list_formatted_read_scalar): Fix copying real
      value back to temporary.
      
      From-SVN: r189856
      Andreas Schwab committed
    • Split out do_assembler_dialects. · d1658619
      	* final.c [ASSEMBLER_DIALECT](do_assembler_dialects): New
      	function to implement assembler dialects.
      	(output_asm_insn): Use do_assembler_dialects.
      	(asm_fprintf): Likewise.
      
      	* gcc.target/i386/asm-dialect-1.c: New test case.
      
      From-SVN: r189854
      Siddhesh Poyarekar committed
    • re PR bootstrap/54092 (Bootstrap fails while building Ada at stage 1) · 5714c34f
      PR bootstrap/54092
      
              * libfuncs.h: Don't include optabs.h.
              (struct libfunc_entry): Use "int" for op, mode1, mode2 members.
              * optabs.c (hash_libfunc): Don't cast members to int.
              * Makefile.in (LIBFUNCS_H): Don't include OPTABS_H.
      
      From-SVN: r189853
      Richard Henderson committed
    • re PR c++/54086 (GCC should allow constexpr and const together) · 452ed9e7
      	PR c++/54086
      	* decl.c (grokdeclarator): Allow const and constexpr together.
      
      From-SVN: r189852
      Jason Merrill committed
    • re PR c++/54020 ([c++0x] incorrectly accepted constexpr functions) · 9155a6dd
      	PR c++/54020
      	* semantics.c (potential_constant_expression_1) [COND_EXPR]: Call
      	maybe_constant_value.
      
      From-SVN: r189851
      Jason Merrill committed
    • cp-tree.h (tsubst_flags): Remove tf_no_access_control. · 5e7b9f60
      	* cp-tree.h (tsubst_flags): Remove tf_no_access_control.
      	* call.c (standard_conversion): Don't set it.
      	* class.c (resolve_address_of_overloaded_function): Don't check it.
      	* decl.c (check_default_argument): Call
      	perform_implicit_conversion_flags.
      
      From-SVN: r189850
      Jason Merrill committed
    • * pt.c (print_candidates_1): Use inform instead of error. · 25a92d2f
      From-SVN: r189849
      Jason Merrill committed
    • Fix typo in comment in basic-block.h · 229ecb89
      gcc/
      
      	* basic-block.c: Fix typo in comment.
      
      From-SVN: r189845
      Dodji Seketeli committed
    • Changelog entry: · e61c94dd
      2012-07-25  Kirill Yukhin  <kirill.yukhin@intel.com>
                  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
      
              * common/config/i386/i386-common.c (OPTION_MASK_ISA_PRFCHW_SET): New.
              (OPTION_MASK_ISA_PRFCHW_UNSET): Likewise.
              (ix86_handle_option): Handle mprfchw option.
              * config.gcc (i[34567]86-*-*): Add prfchwintrin.h.
              (x86_64-*-*): Likewise.
              * config/i386/prfchwintrin.h: New header.
              * config/i386/cpuid.h (bit_PRFCHW): New.
              (bit_BMI): Formatting fix.
              (bit_HLE): Likewise.
              (bit_RTM): Likewise.
              * config/i386/driver-i386.c (host_detect_local_cpu): Detect
              PREFETCHW support.
              * config/i386/i386-c.c: Define __PRFCHW__ if needed.
              * config/i386/i386.c (ix86_target_string): Define
              -mprfchw option. Formatting fixes.
              (PTA_HLE): Formatting fix.
              (PTA_PRFCHW): New.
              (ix86_option_override_internal): Handle new option.
              (ix86_valid_target_attribute_inner_p): Add OPT_mprfchw.
              * config/i386/i386.h (TARGET_PRFCHW): New.
              * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW.
              * config/i386/i386.opt (mprfchw): New.
              * config/i386/mm3dnow.h: Move _m_prefetchw from here to
              prfchwintrin.h.
              * config/i386/x86intrin.h: Include prfchwintrin.h.
      
      testsuite/Changelog entry:
      2012-07-24  Kirill Yukhin  <kirill.yukhin@intel.com>
                  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
      
              * gcc.target/i386/prefetchw-1.c: New.
              * gcc.target/i386/sse-12.c: Add -mprfchw.
              * gcc.target/i386/sse-13.c: Ditto.
              * gcc.target/i386/sse-14.c: Ditto.
              * g++.dg/other/i386-2.C: Ditto.
              * g++.dg/other/i386-3.C: Ditto.
      
      
      
      
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r189844
      Kirill Yukhin committed
    • i386.md (stack_protect_set): Disable the pattern for Android since Android libc… · 4bd5abca
      i386.md (stack_protect_set): Disable the pattern for Android since Android libc (bionic) does not provide...
      
      2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
      
              * config/i386/i386.md (stack_protect_set): Disable the pattern
              for Android since Android libc (bionic) does not provide random
              value for stack protection guard at gs:0x14. Guard value
              will be provided from external symbol (default implementation).
              (stack_protect_set_<mode>): Likewise.
              (stack_protect_test): Likewise.
              (stack_protect_test_<mode>): Likewise.
              * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
              not have Bionic by default
              * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
              Macro OPTION_BIONIC is defined in this file and provides Bionic
              accessibility status
      
      From-SVN: r189840
      Sergey Melnikov committed
    • AMD btver2 enablement · e32bfc16
      From-SVN: r189838
      Venkataramanan Kumar committed
    • tm.texi: Regenerate. · 92345349
      2012-07-24  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* doc/tm.texi: Regenerate.
      	* targhooks.c (default_init_cost): Add prologue and epilogue costs.
      	(default_add_stmt_cost): Likewise; also handle NULL stmt_info.
      	(default_finish_cost): Add prologue and epilogue costs.
      	* targhooks.h (default_add_stmt_cost): Change parameter list.
      	(default_finish_cost): Likewise.
      	* target.def (init_cost): Change documentation string.
      	(add_stmt_cost): Change documentation string and parameter list.
      	(finish_cost): Likewise.
      	* target.h (vect_cost_model_location): New enum.
      	* tree-vectorizer.h (struct _slp_tree): Remove cost substruct.
      	(struct _slp_instance): Remove cost substruct; rename stmt_cost_vec
      	to body_cost_vec.
      	(SLP_INSTANCE_OUTSIDE_OF_LOOP_COST): Remove.
      	(SLP_INSTANCE_STMT_COST_VEC): Rename to SLP_INSTANCE_BODY_COST_VEC.
      	(SLP_TREE_OUTSIDE_OF_LOOP_COST): Remove.
      	(struct _vect_peel_extended_info): Rename stmt_cost_vec to
      	body_cost_vec.
      	(struct _stmt_vec_info): Remove cost substruct.
      	(STMT_VINFO_OUTSIDE_OF_LOOP_COST): Remove.
      	(stmt_vinfo_set_outside_of_loop_cost): Remove.
      	(builtin_vectorization_cost): New function.
      	(vect_get_stmt_cost): Change to use builtin_vectorization_cost.
      	(add_stmt_cost): Change parameter list.
      	(finish_cost): Likewise.
      	(vect_model_simple_cost): Likewise.
      	(vect_model_store_cost): Likewise.
      	(vect_model_load_cost): Likewise.
      	(record_stmt_cost): Likewise.
      	(vect_get_load_cost): Likewise.
      	(vect_get_known_peeling_cost): Likewise.
      	* tree-vect-loop.c (vect_get_known_peeling_cost): Change parameter
      	list; call record_stmt_cost for prologue and epilogue costs.
      	(vect_estimate_min_profitable_iters): Call add_stmt_cost for
      	prologue and epilogue costs; remove computation of vec_outside_cost;
      	return vec_prologue_cost and vec_epilogue_cost from finish_cost.
      	(vect_model_reduction_cost): Revise call to add_stmt_cost for body
      	costs; call add_stmt_cost for prologue and epilogue costs.
      	(vect_model_induction_cost): Revise call to add_stmt_cost for body
      	costs; call add_stmt_cost for prologue costs.
      	* tree-vect-data-refs.c (vect_get_data_access_cost): Change parameter
      	list for function and arguments for calls to vect_get_load_cost and
      	vect_get_store_cost.
      	(vect_peeling_hash_get_lowest_cost): Change argument list for calls to
      	vect_get_data_access_cost and vect_get_known_peeling_cost; use
      	temporary vectors prologue_cost_vec and epilogue_cost_vec for the
      	latter call and discard their results; rename stmt_cost_vec to
      	body_cost_vec; correct possible storage leak for body_cost_vec.
      	(vect_peeling_hash_choose_best_peeling): Rename stmt_cost_vec to
      	body_cost_vec.
      	(vect_enhance_data_refs_alignment): Rename stmt_cost_vec to
      	body_cost_vec; add extra dummy parameter on calls to
      	vect_get_data_access_cost; tolerate null si->stmt; add vect_body to
      	argument list on call to add_stmt_cost.
      	* tree-vect-stmts.c (record_stmt_cost): Change parameter list;
      	rename stmt_cost_vec to body_cost_vec; tolerate null stmt_info; call
      	builtin_vectorization_cost; add "where" parameter on call to
      	add_stmt_cost.
      	(vect_model_simple_cost): Change parameter list; call record_stmt_cost
      	for prologue costs; remove call to stmt_vinfo_set_outside_of_loop_cost;
      	rename stmt_cost_vec to body_cost_vec.
      	(vect_model_promotion_demotion_cost): Add vect_body argument to call
      	to add_stmt_cost; call add_stmt_cost for prologue costs; remove call
      	to stmt_vinfo_set_outside_of_loop_cost.
      	(vect_model_store_cost): Change parameter list; call record_stmt_cost
      	for prologue costs; add vect_body argument to call to record_stmt_cost;
      	rename stmt_cost_vec to body_cost_vec; remove call to
      	stmt_vinfo_set_outside_of_loop_cost.
      	(vect_get_store_cost): Rename stmt_cost_vec to body_cost_vec; add
      	vect_body argument to calls to record_stmt_cost.
      	(vect_model_load_cost): Change parameter list; rename stmt_cost_vec to
      	body_cost_vec; add vect_body argument to calls to record_stmt_cost;
      	remove call to stmt_vinfo_set_outside_of_loop_cost.
      	(vect_get_load_cost): Change parameter list; rename stmt_cost_vec to
      	body_cost_vec; add vect_body argument to calls to record_stmt_cost;
      	call record_stmt_cost for prologue costs.
      	(vectorizable_store): Change argument list for call to
      	vect_model_store_cost.
      	(vectorizable_load): Change argument list for call to
      	vect_model_load_cost.
      	(new_stmt_vec_info): Remove assignment to
      	STMT_VINFO_OUTSIDE_OF_LOOP_COST.
      	* config/spu/spu.c (spu_init_cost): Add prologue and epilogue costs.
      	(spu_add_stmt_cost): Likewise; also handle NULL stmt_info.
      	(spu_finish_cost): Add prologue and epilogue costs.
      	* config/i386/i386.c (i386_init_cost): Add prologue and epilogue costs.
      	(i386_add_stmt_cost): Likewise; also handle NULL stmt_info.
      	(i386_finish_cost): Add prologue and epilogue costs.
      	* config/rs6000/rs6000.c (rs6000_init_cost): Add prologue and epilogue
      	costs.
      	(rs6000_add_stmt_cost): Likewise; also handle NULL stmt_info.
      	(rs6000_finish_cost): Add prologue and epilogue costs.
      	* tree-vect-slp.c (vect_free_slp_instance): Rename
      	SLP_INSTANCE_STMT_COST_VEC to SLP_INSTANCE_BODY_COST_VEC.
      	(vect_create_new_slp_node): Remove assignment to
      	SLP_TREE_OUTSIDE_OF_LOOP_COST.
      	(vect_get_and_check_slp_defs): Change parameter list; change argument
      	lists to calls to vect_model_store_cost and vect_model_simple_cost.
      	(vect_build_slp_tree): Change parameter list; change argument lists
      	to calls to vect_model_load_cost, vect_get_and_check_slp_defs, and
      	recursive self-calls; remove setting of outside_cost from
      	SLP_TREE_OUTSIDE_OF_LOOP_COST; add vect_body argument to call to
      	record_stmt_cost.
      	(vect_analyze_slp_instance): Rename stmt_cost_vec to body_cost_vec;
      	rename SLP_INSTANCE_STMT_COST_VEC to SLP_INSTANCE_BODY_COST_VEC;
      	remove assignment to SLP_INSTANCE_OUTSIDE_OF_LOOP_COST; record SLP
      	prologue costs.
      	(vect_bb_vectorization_profitable_p): Rename stmt_cost_vec to
      	body_cost_vec; handle null ci->stmt; add vect_body argument to call
      	to add_stmt_cost; simplify calls to targetm.vectorize.
      	builtin_vectorization_cost; return vec_prologue_cost and
      	vec_epilogue_cost from finish_cost.
      	(vect_update_slp_costs_according_to_vf): Rename stmt_cost_vec to
      	body_cost_vec; add vect_body argument to call to add_stmt_cost.
      
      From-SVN: r189836
      Bill Schmidt committed
    • Daily bump. · ad777141
      From-SVN: r189832
      GCC Administrator committed
  3. 24 Jul, 2012 13 commits