1. 17 Nov, 2011 2 commits
  2. 16 Nov, 2011 19 commits
  3. 15 Nov, 2011 17 commits
    • alpha: Convert to atomic optabs. · 2371d1a0
      From-SVN: r181395
      Richard Henderson committed
    • re PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.) · 6dc88283
      2011-11-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/51142
      	* include/debug/unordered_map (unordered_map<>::erase(iterator),
      	unordered_multimap<>::erase(iterator)): Add, consistently with
      	LWG 2059.
      	* include/debug/unordered_set (unordered_set<>::erase(iterator),
      	unordered_multiset<>::erase(iterator)): Likewise.
      	* include/debug/map.h (map<>::erase(iterator)): Likewise.
      	* include/debug/multimap.h (multimap<>::erase(iterator)): Likewise.
      	* include/profile/map.h (map<>::erase(iterator)): Likewise.
      	* include/profile/multimap.h (multimap<>::erase(iterator)): Likewise.
      	* include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise.
      	* include/bits/stl_map.h (map<>::erase(iterator)): Likewise.
      	* include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise.
      	* include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise.
      	* testsuite/23_containers/unordered_map/erase/51142.cc: New.
      	* testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise.
      	* testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise.
      	* testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise.
      	* testsuite/23_containers/unordered_set/erase/51142.cc: Likewise.
      	* testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise.
      	* testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise.
      	* testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise.
      
      From-SVN: r181394
      Paolo Carlini committed
    • pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump. · f01fe5f6
      2011-11-16  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.
      	* gcc.dg/pr43864-2.c: Same.
      	* gcc.dg/pr43864-3.c: Same.
      	* gcc.dg/pr43864-4.c: Same.
      
      From-SVN: r181393
      Tom de Vries committed
    • tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1. · fa405d7b
      2011-11-16  Tom de Vries  <tom@codesourcery.com>
      
      	* tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.
      
      From-SVN: r181392
      Tom de Vries committed
    • re PR rtl-optimization/51051 (build fails on cris-elf building libstdc++-v3) · 1ff2fd21
      	PR rtl-optimization/51051
      	PR bootstrap/51086
      	* function.c (thread_prologue_and_epilogue_insns): Guard
      	emitting return with single_succ_p test.
      
      From-SVN: r181391
      Alan Modra committed
    • sse2-cvt-vec.c: New test. · e35525e9
      	* gcc.target/i386/sse2-cvt-vec.c: New test.
      	* gcc.target/i386/avx-cvt-vec.c: Ditto.
      	* gcc.target/i386/avx-cvt-2-vec.c: Ditto.
      
      From-SVN: r181390
      Uros Bizjak committed
    • epiphany.md (mov<mode>cc): Fix code to get mode from CMP_OP1 if CMP_OP0 is VOIDmode. · f41fc8aa
              * config/epiphany/epiphany.md (mov<mode>cc): Fix code to
              get mode from CMP_OP1 if CMP_OP0 is VOIDmode.
      
      From-SVN: r181388
      Joern Rennecke committed
    • sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX. · 76a2c904
      	* config/i386/sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.
      	(vec_pack_sfix_trunc_v2df): Ditto.
      	(vec_pack_sfix_v2df): Ditto.
      	(vec_pack_sfix_trunc_v4df): Generate fix_truncv4dfv4si2 and
      	avx_vec_concatv8si patterns.
      	(vec_pack_sfix_v4df): Generate avx_cvtpd2dq256 and
      	avx_vec_concatv8si patterns.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/avx-floor-sfix-2-vec.c: New test.
      	* gcc.target/i386/avx-ceil-sfix-2-vec.c: Ditto.
      	* gcc.target/i386/avx-rint-sfix-2-vec.c: Ditto.
      	* gcc.target/i386/avx-round-sfix-2-vec.c: Ditto.
      
      From-SVN: r181387
      Uros Bizjak committed
    • gcc-simulate-thread.exp (simulate-thread): Do not run on powerpc*-*-darwin* targets. · 6bbb0093
      
      gcc/testsuite:
      
      	* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
      	powerpc*-*-darwin* targets.
      
      From-SVN: r181384
      Iain Sandoe committed
    • Require parentheses when parsing transaction expressions. · 69b76518
      	gcc/
      	* c-parser.c (c_parser_transaction_expression): Require parentheses
      	when parsing transaction expressions.
      
      	gcc/cp/
      	* parser.c (cp_parser_transaction_expression): Require parentheses
      	when parsing transaction expressions.
      
      	gcc/testsuite/
      	* c-c++-common/tm/trxn-expr-3.c: New test.
      
      From-SVN: r181383
      Torvald Riegel committed
    • re PR libstdc++/51133 (Incorrect implementation of std::tr1::hermite()) · 402356d1
      2011-11-15  Jason Dick  <dickphd@gmail.com>
      
      	PR libstdc++/51133
      	* include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix
      	wrong sign in recursion relation.
      
      From-SVN: r181381
      Jason Dick committed
    • incpath.c (get_added_cpp_dirs): New function. · 0ea06912
      2011-11-15  Tristan Gingold  <gingold@adacore.com>
      
      	* incpath.c (get_added_cpp_dirs): New function.
      	* incpath.h (get_added_cpp_dirs): Declare.
      	* config/vms/vms-c.c (vms_c_register_includes): New function.
      	(vms_std_modules): New variable.
      	* config/vms/vms.h (TARGET_EXTRA_INCLUDES): Define.
      	(vms_c_register_includes): Declare.
      
      From-SVN: r181380
      Tristan Gingold committed
    • c-pragma.h (pragma_extern_prefix): Declare. · e50e723e
      2011-11-15  Tristan Gingold  <gingold@adacore.com>
      
      	* c-family/c-pragma.h (pragma_extern_prefix): Declare.
      	* c-family/c-pragma.c (pragma_extern_prefix): Make it public.
      	* config/vms/vms-c.c (saved_extern_prefix): New variable.
      	(vms_pragma_extern_prefix): New function.
      	(vms_c_register_pragma): Register vms_pragma_extern_prefix.
      
      From-SVN: r181379
      Tristan Gingold committed
    • re PR target/49868 (Implement named address space to place/access data in flash memory) · 7c209481
      gcc/
      	PR target/49868
      	* config/avr/avr.h (ADDR_SPACE_PGM): New address spaces.
      	(REGISTER_TARGET_PRAGMAS): New define.
      	* config/avr/avr-protos.h (avr_mem_pgm_p): New.
      	(avr_load_libgcc_p): New.
      	(asm_output_external_libcall): Remove.
      	(avr_register_target_pragmas): New.
      	(avr_log_t): Add field "progmem".  Order alphabetically.
      	* config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem.
      	* config/avr/avr-c.c (langhooks.h): New include.
      	(avr_register_target_pragmas): New function. Register address
      	space __pgm.
      	(avr_cpu_cpp_builtins): Add built-in define __PGM.
      	* config/avr/avr.c: Include "c-family/c-common.h".
      	(TARGET_LEGITIMATE_ADDRESS_P): Remove define.
      	(TARGET_LEGITIMIZE_ADDRESS): Remove define.
      	(TARGET_ADDR_SPACE_SUBSET_P): Define to...
      	(avr_addr_space_subset_p): ...this new static function.
      	(TARGET_ADDR_SPACE_CONVERT): Define to...
      	(avr_addr_space_convert): ...this new static function.
      	(TARGET_ADDR_SPACE_ADDRESS_MODE): Define to...
      	(avr_addr_space_address_mode): ...this new static function.
      	(TARGET_ADDR_SPACE_POINTER_MODE): Define to...
      	(avr_addr_space_pointer_mode): ...this new static function.
      	(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to...
      	(avr_addr_space_legitimate_address_p): ...this new static function.
      	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to...
      	(avr_addr_space_legitimize_address): ...this new static function.
      	(avr_mode_code_base_reg_class): Handle address spaces.
      	(avr_regno_mode_code_ok_for_base_p): Ditto.
      	(lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables.
      	(avr_option_override): Initialize them.
      	(output_reload_in_const): Use all_regs_rtx. Fix signedness of loop
      	variables.
      	(avr_pgm_segment): New static function.
      	(avr_decl_pgm_p, avr_mem_pgm_p): New static functions.
      	(avr_out_lpm, avr_out_lpm_no_lpmx): New static functions.
      	(output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call
      	avr_out_lpm to handle loads from progmem.
      	(avr_load_libgcc_p): New static function.
      	(avr_progmem_p): Test if decl is in flash.
      	(avr_pgm_pointer_const_p): New static function.
      	(avr_nonconst_pointer_addrspace): New static function.
      	(avr_pgm_check_var_decl): New static function.
      	(avr_insert_attributes): Use it.  Change error message to report
      	cause (progmem or address space) when code wants to write to flash.
      	(avr_section_type_flags): Unset section flag SECTION_BSS for
      	data in progmem.
      	* config/avr/predicates.md (nop_general_operand): New predicate.
      	(nox_general_operand): New predicate.
      	* config/avr/avr.md (LPM_REGNO): New define_constant.
      	(load<mode>_libgcc): New expander.
      	(*load.<mode>.libgcc): New insn.
      	(mov<mode>): Handle loads from non-generic AS.
      	(movmemhi): Ditto.  Propagate address space information to newly
      	created MEM.
      	(movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1
      	to nox_general_operand.
      	(ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to nop_general_operand.
      	(ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto.
      	(lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto.
      	(split-lpmx): New split.
      	(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
      	*lshrhi3_const, *lshrsi3_const): Indent, unquote C.
      
      libgcc/
      	PR target/49868
      	* config/avr/t-avr (LIB1ASMFUNCS): Add _load_3,  _load_4.
      	* config/avr/lib1funcs.S (__load_3, __load_4, __xload_2): New functions.
      
      From-SVN: r181378
      Georg-Johann Lay committed
    • ipa-cp.c (ipa_value_from_jfunc): Make global. · d2d668fb
      	* ipa-cp.c (ipa_value_from_jfunc): Make global.
      	(ipa_cst_from_jfunc): Remove, use ipa_value_from_jfunc instead.
      	(get_indirect_edge_target): Rename, make global.
      	(devirtualization_time_bonus, estimate_local_effects,)
      	(ipcp_discover_new_direct_edges): Update.
      	* ipa-inline-analysis.c (evaluate_conditions_for_edge):
      	Generalize to also handle types.  Rename to ...
      	(evaluate_properties_for_edge): Use instead of
      	evaluate_conditions_for_edge.
      	(estimate_edge_devirt_benefit): New function.
      	(estimate_calls_size_and_time): Use it.
      	(estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,)
      	(inline_merge_summary):	Update.
      	(do_estimate_edge_time, do_estimate_edge_growth): Update.  Calculate
      	parameter information at the call site and pass it on to subroutines.
      	* tree-inline.c (estimate_num_insns): Distinguish between direct and
      	indirect calls.
      	(init_inline_once): Set size and time costs or indirect calls.
      	* tree-inline.h (eni_weights): Add indirect_call_cost.
      
      From-SVN: r181377
      Maxim Kuvyrkov committed
    • Daily bump. · e3790e8a
      From-SVN: r181376
      GCC Administrator committed
    • re PR tree-optimization/51005 (-ftree-tail-merge slows down compilation of 20001226-1.c) · 643400b8
      2011-11-15  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/51005
      	* tree-ssa-tail-merge.c (delete_basic_block_same_succ): Rename to
      	mark_basic_block_deleted.
      	(update_worklist): Inline purge_bbs.
      	(purge_bbs, unlink_virtual_phi, update_vuses, vop_at_entry)
      	(delete_block_update_dominator_info): Remove.
      	(replace_block_by): Remove update_vops parameter.  Partially evaluate
      	for update_vops == false.
      	(apply_clusters): Remove update_vops parameter.  Remove update_vops
      	argument in replace_block_by call.
      	(update_debug_stmts): Remove MAY_HAVE_DEBUG_STMTS test.
      	(tail_merge_optimize): Remove update_vops argument to apply_clusters.
      	Remove call to purge_bbs.  Add calls to calculate_dominance_info and
      	free_dominance_info.  Add MAY_HAVE_DEBUG_STMTS	before calling
      	update_debug_stmts.  Mark vop var for renaming, if necessary.
      
      From-SVN: r181372
      Tom de Vries committed
  4. 14 Nov, 2011 2 commits