Skip to content
Snippets Groups Projects
  1. Sep 26, 2012
    • Ulrich Drepper's avatar
      Optimize bulk mode for normal_distribution<double> for SSE3. · 48c7b524
      Ulrich Drepper authored
      2012-09-26  Ulrich Drepper  <drepper@gmail.com>
      
      	Optimize bulk mode for normal_distribution<double> for SSE3.
      	* configure.host: Define cpu_opt_bits_random.
      	* configure.ac: Substitute CPU_OPT_BITS_RANDOM.
      	* include/Makefile.am (bits_headers): Add ${bits_host_headers}.
      	(bits_host_headers): Define.
      	* include/bits/random.tcc: Move __details::_Power_of_2 to...
      	* include/bits/random.h: ...here.
      	* include/std/random: Include <bits/opt_random.h>.
      	* config/cpu/i486/opt/bits/opt_random.h: New file.
      	* config/cpu/generic/opt/bits/opt_random.h: New file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      	* aclocal.m4: Regenerated.
      	* doc/Makefile.in: Regenerated.
      	* include/Makefile.in: Regenerated.
      	* libsupc++/Makefile.in: Regenerated.
      	* po/Makefile.in: Regenerated.
      	* python/Makefile.in: Regenerated.
      	* src/Makefile.in: Regenerated.
      	* src/c++11/Makefile.in: Regenerated.
      	* src/c++98/Makefile.in: Regenerated.
      	* testsuite/Makefile.in: Regenerated.
      
      	* config/cpu/generic/opt/ext/opt_random.h: Fix comment.
      
      From-SVN: r191758
      48c7b524
    • Ian Lance Taylor's avatar
      Makefile.def: Make all-gcc depend on all-libbacktrace. · d83697f4
      Ian Lance Taylor authored
      ./:	* Makefile.def: Make all-gcc depend on all-libbacktrace.
      	* Makefile.in: Rebuild.
      gcc/:
      	* diagnostic.c: Include "demangle.h" and "backtrace.h".
      	(bt_stop): New static array.
      	(bt_callback, bt_err_callback): New static functions.
      	(diagnostic_action_after_output): Call backtrace_full for DK_ICE.
      	* Makefile.in (BACKTRACE): New variable.
      	(BACKTRACEINC, LIBBACKTRACE): New variables.
      	(BACKTRACE_H): New variable.
      	(LIBDEPS, LIBS): Add $(LIBBACKTRACE).
      	(INCLUDES): Add $(BACKTRACEINC).
      	(diagnostic.o): Depend upon $(DEMANGLE_H) and $(BACKTRACE_H).
      
      From-SVN: r191757
      d83697f4
    • Segher Boessenkool's avatar
      re PR target/51274 (Starting with GCC 4.5, powerpc generated different code for x != 0.) · ba45a613
      Segher Boessenkool authored
      gcc/
      	PR target/51274
      	PR target/53087
      	* config/rs6000/rs6000.md (ne0si): Remove unnecessary
      	earlyclobber.  Merge with...
      	(ne0di): ... to...
      	(ne0_<mode>): New.
      	(plus_ne0si): Merge with...
      	(plus_ne0di): ... to...
      	(plus_ne0_<mode>): New.
      	(compare_plus_ne0si): Merge with...
      	(compare_plus_ne0di)... to...
      	(compare_plus_ne0_<mode>): New.
      	(compare_plus_ne0_<mode>_1): New.
      	(plus_ne0si_compare): Merge with...
      	(plus_ne0di_compare)... to...
      	(plus_ne0_<mode>_compare): New.
      
      gcc/testsuite/
      	PR target/51274
      	PR target/53087
      	* gcc.target/powerpc/ppc-ne0-1.c: New.
      
      From-SVN: r191752
      ba45a613
    • GCC Administrator's avatar
      Daily bump. · eecd0850
      GCC Administrator authored
      From-SVN: r191750
      eecd0850
  2. Sep 25, 2012
  3. Sep 24, 2012
    • Ian Lance Taylor's avatar
      compiler: Better warning for switch on non-comparable type. · 90f01468
      Ian Lance Taylor authored
      From-SVN: r191683
      90f01468
    • Dehao Chen's avatar
      tree-cfg.c (move_stmt_op): Reset the expr block only when necessary. · 60478b9c
      Dehao Chen authored
      2012-09-24  Dehao Chen  <dehao@google.com>
      
      	* tree-cfg.c (move_stmt_op): Reset the expr block only
      	when necessary.
      	(move_block_to_fn): Reset the edge's goto block even
      	when the goto locus is unknown.
      
      From-SVN: r191680
      60478b9c
    • François Dumont's avatar
      re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers) · 55826ab6
      François Dumont authored
      2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
      
      	PR libstdc++/44436
      	* include/bits/stl_tree.h
      	(_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
      	_Const_Base_ptr.
      	(_Rb_tree<>::_M_insert_node): New.
      	(_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
      	_M_insert_unique method.
      	(_Rb_tree<>::_M_insert_unique): Use latter.
      	(_Rb_tree<>::_M_emplace_unique): New, likewise.
      	(_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
      	_M_insert_equal method.
      	(_Rb_tree<>::_M_insert_equal): Use latter.
      	(_Rb_tree<>::_M_emplace_equal): New, likewise.
      	(_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
      	_M_insert_unique_ method.
      	(_Rb_tree<>::_M_insert_unique_): Use latter.
      	(_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
      	(_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
      	_M_insert_equal_ method.
      	(_Rb_tree<>::_M_insert_equal_): Use latter.
      	(_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
      	(_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
      	useless as always null.
      	* include/bits/stl_map.h: Include <tuple> in C++11.
      	(map<>::operator[](const key_type&)): Use
      	_Rb_tree<>::_M_emplace_hint_unique in C++11.
      	(map<>::operator[](key_type&&)): Likewise.
      	(map<>::emplace): New.
      	(map<>::emplace_hint): New.
      	* include/bits/stl_multimap.h (multimap<>::emplace): New.
      	(multimap<>::emplace_hint): New.
      	* include/bits/stl_set.h (set<>::emplace): New.
      	(set<>::emplace_hint): New.
      	* include/bits/stl_multiset.h (multiset<>::emplace): New.
      	(multiset<>::emplace_hint): New.
      	* include/debug/map.h (std::__debug::map<>::emplace): New.
      	(std::__debug::map<>::emplace_hint): New.
      	* include/debug/multimap.h (std::__debug::multimap<>::emplace):
      	New.
      	(std::__debug::multimap<>::emplace_hint): New.
      	* include/debug/set.h (std::__debug::set<>::emplace): New.
      	(std::__debug::set<>::emplace_hint): New.
      	* include/debug/multiset.h (std::__debug::multiset<>::emplace):
      	New.
      	(std::__debug::multiset<>::emplace_hint): New.
      	* include/profile/map.h (std::__profile::map<>::emplace): New.
      	(std::__profile::map<>::emplace_hint): New.
      	* include/profile/multimap.h (std::__profile::multimap<>::emplace):
      	New.
      	(std::__profile::multimap<>::emplace_hint): New.
      	* include/profile/set.h (std::__profile::set<>::emplace): New.
      	(std::__profile::set<>::emplace_hint): New.
      	* include/profile/multiset.h (std::__profile::multiset<>::emplace):
      	New.
      	(std::__profile::multiset<>::emplace_hint): New.
      	* testsuite/util/testsuite_container_traits.h: Signal that emplace
      	and emplace_hint are available on std::map, std::multimap,
      	std::set and std::multiset in C++11.
      	* testsuite/23_containers/map/operators/2.cc: New.
      	* testsuite/23_containers/map/modifiers/emplace/1.cc: New.
      	* testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
      	* testsuite/23_containers/set/modifiers/emplace/1.cc: New.
      	* testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.
      
      From-SVN: r191679
      55826ab6
    • François Dumont's avatar
      41975.cc: Use __uset_hashtable rather than removed __unordered_set. · e6fa043b
      François Dumont authored
      2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
      
      	* testsuite/performance/23_containers/insert_erase/41975.cc: Use
      	__uset_hashtable rather than removed __unordered_set.
      
      From-SVN: r191678
      e6fa043b
    • Tobias Burnus's avatar
      Add missing PR to the ChangeLog · f08d73d1
      Tobias Burnus authored
      From-SVN: r191677
      f08d73d1
    • Tobias Burnus's avatar
      re PR fortran/54618 ([OOP] wrong-code with CLASS(...), INTENT(OUT) -- and OPTIONAL or ALLOCATABLE) · 7df938d6
      Tobias Burnus authored
      2012-09-24  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54618
              * trans-expr.c (gfc_conv_procedure_call): Fix INTENT(OUT)
              handling for allocatable BT_CLASS.
      
      From-SVN: r191676
      7df938d6
    • Lawrence Crowl's avatar
      Finish conversion of uses of double_int to the new API. · 9be0ac8c
      Lawrence Crowl authored
      Some old functionality required new interfaces, and these have been added to
      double-int.[hc]:
      
        double_int::from_pair - static constructor function
        wide_mul_with_sign - double-wide multiply instruction
        sub_with_overflow - subtraction with overlow testing
        neg_with_overflow - negation with overlow testing
        divmod_with_overflow - div and mod with overlow testing
      
      This patch corrects the bootstrap problem on HPPA, via the addition of
      sub_with_overflow.  (The overflow properties of negation and addition are
      different from subtraction.)
      
      The prior two generations of the interface have been removed.
      
      Some of these old interfaces are still used as static implementation in
      double-int.c.
      
      The changed compiler appears 0.321% faster with 80% confidence of being faster.
      
      Tested on x86_64, HPPA, and SPARC.  However, there are changes to the avr
      config files, and I have not tested those.
      
      
      Index: gcc/java/ChangeLog
      
      2012-09-24  Lawrence Crowl  <crowl@google.com>
      
      	* decl.c (java_init_decl_processing): Change to new double_int API.
      	* jcf-parse.c (get_constant): Likewise.
      	* boehm.c (mark_reference_fields): Likewise.
      	(get_boehm_type_descriptor): Likewise.
      
      Index: gcc/ChangeLog
      
      2012-09-24  Lawrence Crowl  <crowl@google.com>
      
      	* double-int.h (double_int::from_pair): New.
      	(double_int::wide_mul_with_sign): New.
      	(double_int::sub_with_overflow): New.
      	(double_int::neg_with_overflow): New.
      	(double_int::divmod_with_overflow): New.
      	(shwi_to_double_int): Remove.
      	(uhwi_to_double_int): Remove.
      	(double_int_to_shwi): Remove.
      	(double_int_to_uhwi): Remove.
      	(double_int_fits_in_uhwi_p): Remove.
      	(double_int_fits_in_shwi_p): Remove.
      	(double_int_fits_in_hwi_p): Remove.
      	(double_int_mul): Remove.
      	(double_int_mul_with_sign): Remove.
      	(double_int_add): Remove.
      	(double_int_sub): Remove.
      	(double_int_neg): Remove.
      	(double_int_div): Remove.
      	(double_int_sdiv): Remove.
      	(double_int_udiv): Remove.
      	(double_int_mod): Remove.
      	(double_int_smod): Remove.
      	(double_int_umod): Remove.
      	(double_int_divmod): Remove.
      	(double_int_sdivmod): Remove.
      	(double_int_udivmod): Remove.
      	(double_int_multiple_of): Remove.
      	(double_int_setbit): Remove.
      	(double_int_ctz): Remove.
      	(double_int_not): Remove.
      	(double_int_ior): Remove.
      	(double_int_and): Remove.
      	(double_int_and_not): Remove.
      	(double_int_xor): Remove.
      	(double_int_lshift): Remove.
      	(double_int_rshift): Remove.
      	(double_int_lrotate): Remove.
      	(double_int_rrotate): Remove.
      	(double_int_negative_p): Remove.
      	(double_int_cmp): Remove.
      	(double_int_scmp): Remove.
      	(double_int_ucmp): Remove.
      	(double_int_max): Remove.
      	(double_int_smax): Remove.
      	(double_int_umax): Remove.
      	(double_int_min): Remove.
      	(double_int_smin): Remove.
      	(double_int_umin): Remove.
      	(double_int_ext): Remove.
      	(double_int_sext): Remove.
      	(double_int_zext): Remove.
      	(double_int_mask): Remove.
      	(double_int_max_value): Remove.
      	(double_int_min_value): Remove.
      	(double_int_zero_p): Remove.
      	(double_int_one_p): Remove.
      	(double_int_minus_one_p): Remove.
      	(double_int_equal_p): Remove.
      	(double_int_popcount): Remove.
      	(extern add_double_with_sign): Remove.
      	(#define add_double): Remove.
      	(extern neg_double): Remove.
      	(extern mul_double_with_sign): Remove.
      	(extern mul_double_wide_with_sign): Remove.
      	(#define mul_double): Remove.
      	(extern lshift_double): Remove.
      	(extern div_and_round_double): Remove.
      	* double-int.c (add_double_with_sign): Make static.
      	(#defined add_double): Localized from header.
      	(neg_double): Make static.
      	(mul_double_with_sign): Make static.
      	(mul_double_wide_with_sign): Make static.
      	(#defined mul_double): Localized from header.
      	(lshift_double): Make static.
      	(div_and_round_double): Make static.
      	(double_int::wide_mul_with_sign): New.
      	(double_int::sub_with_overflow): New.
      	(double_int::neg_with_overflow): New.
      	(double_int::divmod_with_overflow): New.
      	* emit-rtl.c (init_emit_once): Change to new double_int API.
      	* explow.c (plus_constant): Likewise.
      	* expmed.c (choose_multiplier): Likewise.
      	* fold-const.c (#define OVERFLOW_SUM_SIGN): Remove.
      	(int_const_binop_1): Change to new double_int API.
      	(fold_div_compare): Likewise.
      	(maybe_canonicalize_comparison): Likewise.
      	(pointer_may_wrap_p): Likewise.
      	(fold_negate_const): Likewise.
      	(fold_abs_const): Likewise.
      	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
      	(simplify_const_binary_operation): Likewise.
      	* tree-chrec.c (tree_fold_binomial): Likewise.
      	* tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
      	* config/sparc/sparc.c (sparc_fold_builtin): Likewise.
      	* config/avr/avr.c (avr_double_int_push_digit): Likewise.
      	(avr_map): Likewise.
      	(avr_map_decompose): Likewise.
      	(avr_out_insert_bits): Likewise.
      
      Index: gcc/cp/ChangeLog
      
      2012-09-24  Lawrence Crowl  <crowl@google.com>
      
      	* init.c (build_new_1): Change to new double_int API.
      	* decl.c (build_enumerator): Likewise.
      	* typeck2.c (process_init_constructor_array): Likewise.
      	* mangle.c (write_array_type): Likewise.
      
      Index: gcc/fortran/ChangeLog
      
      2012-09-24  Lawrence Crowl  <crowl@google.com>
      
      	* trans-expr.c (gfc_conv_cst_int_power): Change to new double_int API.
      	* target-memory.c (gfc_interpret_logical): Likewise.
      
      From-SVN: r191675
      9be0ac8c
    • Paolo Carlini's avatar
      re PR c++/50828 (class template parameter not printed for member function... · ee38ecd4
      Paolo Carlini authored
      re PR c++/50828 (class template parameter not printed for member function template in candidate list)
      
      2012-09-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50828
      	* error.c (dump_function_decl): Strip TFF_TEMPLATE_NAME from flags
      	at the outset.
      
      From-SVN: r191673
      ee38ecd4
    • Jason Merrill's avatar
      * decl.c (get_atexit_node): Remove dead code. · 3ad50c8e
      Jason Merrill authored
      From-SVN: r191672
      3ad50c8e
    • Jason Merrill's avatar
      * Make-lang.in (cp/parser.o): Depend on decl.h. · b6e189f6
      Jason Merrill authored
      From-SVN: r191671
      b6e189f6
    • Janis Johnson's avatar
      doc/sourcebuild.texi (Selectors): Document the use of target and xfail used together. · 776de6b2
      Janis Johnson authored
      	doc/sourcebuild.texi (Selectors): Document the use of target
      	and xfail used together.
      testsuite/
      	* lib/target-supports-dg.exp (dg-require-effective-target,
      	dg-skip-if, dg-xfail-if, dg-xfail-run-if, dg-shouldfail): Call
      	dg-process-target-1 instead of dg-process-target.
      	(dg-process-target-1): Rename from dg-process-target.
      	(dg-process-target): New.
      
      From-SVN: r191670
      776de6b2
    • Richard Guenther's avatar
      re PR lto/54632 (not supported in LTO streams : tree code '�F ��D�� `) · 28957eab
      Richard Guenther authored
      2012-09-24  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/54632
      	* tree-ssa-live.c (clear_unused_block_pointer_1): Do not
      	handle DECL_DEBUG_EXPR_IS_FROM here...
      	(clear_unused_block_pointer): ... but here when walking all
      	local decls.
      
      From-SVN: r191669
      28957eab
Loading