Commit Graph

118907 Commits

Author SHA1 Message Date
Lawrence Crowl 27bcd47cfa Modify gcc/*.[hc] double_int call sites to use the new interface.
This change entailed adding a few new methods to double_int.

The change results in a 0.163% time improvement with a 70% confidence.

Tested on x86_64.


Index: gcc/ChangeLog

2012-09-06  Lawrence Crowl  <crowl@google.com>

	* double-int.h (double_int::operator &=): New.
	(double_int::operator ^=): New.
	(double_int::operator |=): New.
	(double_int::mul_with_sign): Modify overflow parameter to bool*.
	(double_int::add_with_sign): New.
	(double_int::ule): New.
	(double_int::sle): New.
	(binary double_int::operator *): Remove parameter name.
	(binary double_int::operator +): Likewise.
	(binary double_int::operator -): Likewise.
	(binary double_int::operator &): Likewise.
	(double_int::operator |): Likewise.
	(double_int::operator ^): Likewise.
	(double_int::and_not): Likewise.
	(double_int::from_shwi): Tidy formatting.
	(double_int::from_uhwi): Likewise.
	(double_int::from_uhwi): Likewise.
	* double-int.c (double_int::mul_with_sign): Modify overflow parameter
	to bool*.
	(double_int::add_with_sign): New.
	(double_int::ule): New.
	(double_int::sle): New.
	* builtins.c: Modify to use the new double_int interface.
	* cgraph.c: Likewise.
	* combine.c: Likewise.
	* dwarf2out.c: Likewise.
	* emit-rtl.c: Likewise.
	* expmed.c: Likewise.
	* expr.c: Likewise.
	* fixed-value.c: Likewise.
	* fold-const.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* gimplify-rtx.c: Likewise.
	* ipa-prop.c: Likewise.
	* loop-iv.c: Likewise.
	* optabs.c: Likewise.
	* stor-layout.c: Likewise.
	* tree-affine.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-dfa.c: Likewise.
	* tree-flow-inline.h: Likewise.
	* tree-object-size.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-address.c: Likewise.
	* tree-ssa-alias.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-sccvn: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vrp.c: Likewise.
	* tree.h: Likewise.
	* tree.c: Likewise.
	* varasm.c: Likewise.

From-SVN: r191047
2012-09-07 00:06:35 +00:00
Cary Coutant 316b938ed7 dwarf2.def: Edit comment.
2012-09-06  Cary Coutant  <ccoutant@google.com>

include/
	* dwarf2.def: Edit comment.

From-SVN: r191046
2012-09-06 16:32:59 -07:00
Uros Bizjak 54af452316 configure.ac (hle prefixes): Remove .code64.
* configure.ac (hle prefixes): Remove .code64.
	* configure: Regenerated.

From-SVN: r191044
2012-09-06 23:45:46 +02:00
Thiago Macieira fa129f20b3 re PR libstdc++/54172 (__cxa_guard_acquire thread-safety issue)
2012-09-06  Thiago Macieira  <thiago.macieira@intel.com>

	PR libstdc++/54172
        * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
        we detect that another thread has had success. Don't compare_exchange
        from a finished state back to a waiting state. Comment.

From-SVN: r191042
2012-09-06 20:31:08 +00:00
Diego Novillo 385c06817b * configure.ac: Bump minimum GMP version to 4.2.3.
From-SVN: r191037
2012-09-06 14:14:58 -04:00
Kyrylo Tkachov d435a4be2a arm.c: Use CONST_INT_P...
2012-09-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c: Use CONST_INT_P, CONST_DOUBLE_P, REG_P, MEM_P,
	LABEL_P, JUMP_P, CALL_P, NOTE_P, BARRIER_P consistently.
	* config/arm/arm.h: Use REG_P, MEM_P consistently.
	* config/arm/arm.md: Use CONST_INT_P, REG_P, MEM_P, CONST_DOUBLE_P
	consistently.
	* config/arm/neon.md: Use REG_P consistently.
	* config/arm/predicates.md: Use CONST_INT_P, REG_P, MEM_P
	consistently.
	* config/arm/thumb2.md: Use CONST_INT_P, REG_P consistently.
	* config/arm/vec-common.md: Use REG_P consistently.

From-SVN: r191034
2012-09-06 17:11:18 +00:00
Jason Merrill c2b3ec18a4 re PR c++/54341 (ICE (segfault) in cx_check_missing_mem_inits, at cp/semantics.c:6093)
PR c++/54341
	PR c++/54253
	* semantics.c (sort_constexpr_mem_initializers): New.
	(build_constexpr_constructor_member_initializers): Use it.
	(cx_check_missing_mem_inits): Skip artificial fields.
	* init.c (expand_aggr_init_1): Don't zero out a class
	with no data.

From-SVN: r191033
2012-09-06 12:24:10 -04:00
Richard Guenther 511c229c6c re PR tree-optimization/54498 (incorrect code generation from g++ -O)
2012-09-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/54498
	* tree-ssa-alias.h (get_continuation_for_phi): Add flag to
	abort when reaching an already visited region.
	* tree-ssa-alias.c (maybe_skip_until): Likewise.  And do it.
	(get_continuation_for_phi_1): Likewise.
	(walk_non_aliased_vuses): When we translated the reference,
	abort when we re-visit a region.
	* tree-ssa-pre.c (translate_vuse_through_block): Adjust.

From-SVN: r191030
2012-09-06 14:47:42 +00:00
David Edelsohn 81a14f1e73 rs6000.c (rs6000_xcoff_asm_named_section): Add TLS section.
* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Add TLS
        section.
        * config/rs6000/rs6000.c (rs6000_debug_address_cost): Add new
        arguments to TARGET_ADDRESS_COST call.

From-SVN: r191027
2012-09-06 10:07:23 -04:00
Richard Guenther 342f75af29 tree.h (MOVE_NONTEMPORAL): Remove.
2012-09-06  Richard Guenther  <rguenther@suse.de>

	* tree.h (MOVE_NONTEMPORAL): Remove.
	* tree-pretty-print.c (dump_generic_node): Remove
	MOVE_NONTEMPORAL handling.
	* expr.c (expand_expr_real_1): Likewise.

From-SVN: r191022
2012-09-06 13:42:28 +00:00
Richard Guenther b8a2f52904 passes.c (execute_function_todo): Call compute_may_aliases only if flag_tree_pta is set.
2012-09-06  Richard Guenther  <rguenther@suse.de>

	* passes.c (execute_function_todo): Call compute_may_aliases
	only if flag_tree_pta is set.

From-SVN: r191015
2012-09-06 09:13:08 +00:00
Andrew Pinski 31a47f1a48 re PR tree-optimization/54494 (Missing store to volatile)
2012-09-06  Andrew Pinski  <apinski@cavium.com>

        PR tree-opt/54494
        * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
2012-09-06  Andrew Pinski  <apinski@cavium.com>

        PR tree-opt/54494
        * gcc.dg/tree-ssa/strlen-1.c: New testcase.

From-SVN: r191014
2012-09-06 01:08:09 -07:00
Jakub Jelinek 5ef5a3b7c2 re PR rtl-optimization/54455 (ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418)
PR rtl-optimization/54455
	* sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
	bb ends up with asm goto referencing bb's label.

	* gcc.dg/54455.c: New test.

From-SVN: r191013
2012-09-06 09:29:12 +02:00
Tobias Burnus 3dcdfdc804 2012-09-06 Tobias Burnus
PR fortran/54463
        * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Fix matmul
        call to BLAS if the default-kind has been promoted.

2012-09-06  Tobias Burnus

        PR fortran/54463
        * gfortran.dg/promotion_2.f90: New.

From-SVN: r191012
2012-09-06 09:03:42 +02:00
Ian Lance Taylor a85cfff41d debug/elf, debug/dwarf: DWARF line number fixes.
Support DW_AT_high_pc as a constant.
Support DW_AT_ranges.

PR gcc/52583

From-SVN: r191008
2012-09-06 05:28:02 +00:00
Chen Liqin 67401072c2 score.c: Remove TARGET_LEGITIMIZE_ADDRESS define and score_legitimize_address function...
2012-09-06  Chen Liqin  <liqin.gcc@gmail.com>

	* config/score/score.c: Remove TARGET_LEGITIMIZE_ADDRESS define
	and score_legitimize_address function, use compiler default code instead.

From-SVN: r191004
2012-09-06 03:07:53 +00:00
GCC Administrator eff4ae820b Daily bump.
From-SVN: r191002
2012-09-06 00:17:59 +00:00
Jan Hubicka 7c99ab652a ipa-inline.c (want_inline_small_function_p): Use INLINE_HINT_loop_iterations hint.
* ipa-inline.c (want_inline_small_function_p): Use INLINE_HINT_loop_iterations
	hint.

From-SVN: r190999
2012-09-05 22:32:36 +00:00
Uros Bizjak 588dbb1914 fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v.
* config/fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v.

From-SVN: r190997
2012-09-05 23:43:45 +02:00
Andrew Pinski 5285c21c6e optabs.c (emit_conditional_add): Correct comment about the arguments.
2012-09-05  Andrew Pinski  <apinski@cavium.com>

 	* optabs.c (emit_conditional_add): Correct comment about the arguments.
	Remove code which might swap op2 and op3 since they cannot be swapped.
	* doc/md.texi (add@var{mode}cc): Fix document about how the arguments
	are used.

From-SVN: r190994
2012-09-05 13:23:22 -07:00
Uros Bizjak 933d309fcf * ChangeLog: Fix date of my last commit.
From-SVN: r190993
2012-09-05 21:55:02 +02:00
Uros Bizjak df36cec0dd fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and __builtin_ia32_ldmxcsr intrinsics.
* config/fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and
	__builtin_ia32_ldmxcsr intrinsics.

From-SVN: r190992
2012-09-05 21:49:21 +02:00
François Dumont 3157879227 re PR libstdc++/54296 (using the object in the map to erase element from the map crashes)
2012-09-05  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/54296
	* include/bits/hashtable.h (_M_erase(size_type, __node_base*,
	__node_type*)): New.
	(erase(const_iterator)): Use latter.
	(_M_erase(std::true_type, const key_type&)): New, likewise.
	(_M_erase(std::false_type, const key_type&)): New. Find all nodes
	matching the key before deallocating them so that the key doesn't
	get invalidated.
	(erase(const key_type&)): Use the new member functions.
	* testsuite/23_containers/unordered_map/erase/54296.cc: New.
	* testsuite/23_containers/unordered_multimap/erase/54296.cc: New.

From-SVN: r190991
2012-09-05 19:41:16 +00:00
Oleg Endo b413068c9f hooks.c (hook_int_rtx_mode_as_bool_0): New function.
* hooks.c (hook_int_rtx_mode_as_bool_0): New function.
	* hooks.h (hook_int_rtx_mode_as_bool_0): Declare it.
	* output.h (default_address_cost): Add machine_mode and address space
	arguments.
	* target.def (address_cost): Likewise.
	* rtlanal.c (address_cost): Pass mode and address space to target hook.
	(default_address_cost): Add unnamed machine_mode and address space
	arguments.
	* doc/tm.texi: Regenerate.
	* config/alpha/alpha.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/arm/arm.c (arm_address_cost): Add machine_mode and address
	space arguments.
	* config/avr/avr.c (avr_address_cost): Likewise.
	* config/bfin/bfin.c (bfin_address_cost): Likewise.
	* config/cr16/cr16.c (cr16_address_cost): Likewise.
	* config/cris/cris.c (cris_address_cost): Likewise.
	* config/epiphany/epiphany.c (epiphany_address_cost): Likewise.
	* config/i386/i386.c (ix86_address_cost): Likewise.
	* config/ia64/ia64.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/iq2000/iq2000.c (iq2000_address_cost): Add machine_mode and
	address space arguments.  Pass them on in recursive invocation.
	* config/lm32/lm32.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/m32c/m32c.c (m32c_address_cost): Add machine_mode and address
	space arguments.
	* config/m32r/m32r.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/mcore/mcore.c (TARGET_ADDRESS_COST): Likewise.
	* config/mep/mep.c (mep_address_cost): Add machine_mode and address
	space arguments.
	* config/microblaze/microblaze.c (microblaze_address_cost): Likewise.
	* config/mips/mips.c (mips_address_cost): Likewise.
	* config/mmix/mmix.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/mn10300/mn10300.c (mn10300_address_cost): Add machine_mode and
	address space arguments.
	(mn10300_rtx_costs): Pass GET_MODE (x) and MEM_ADDR_SPACE (x) to
	mn10300_address_cost.
	* config/pa/pa.c (hppa_address_cost): Add machine_mode and address
	space arguments.
	* config/rs6000/rs6000.c (rs6000_debug_address_cost): Likewise.
	(TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of
	hook_int_rtx_bool_0.
	* config/rx/rx.c (rx_address_cost): Add machine_mode and address
	space arguments.
	* config/s390/s390.c (s390_address_cost): Likewise.
	* config/score/score-protos.h (score_address_cost): Likewise.
	* config/score/score.c (score_address_cost): Likewise.
	* config/sh/sh.c (sh_address_cost): Likewise.
	* config/sparc/sparc.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/spu/spu.c (TARGET_ADDRESS_COST): Likewise.
	* config/stormy16/stormy16.c (xstormy16_address_cost): Add machine_mode
	and address space arguments.
	* config/v850/v850.c (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
	* config/vax/vax.c (vax_address_cost): Add machine_mode and address
	space arguments.
	* config/xtensa/xtensa (TARGET_ADDRESS_COST): Use
	hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.

From-SVN: r190990
2012-09-05 17:31:17 +00:00
Tobias Burnus 04529aba93 re PR fortran/54462 (Another "segmentation fault" after an error in COMMON statement after r190853)
2012-09-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54462
        * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.

From-SVN: r190989
2012-09-05 18:40:48 +02:00
Diego Novillo 7e7d75c136 re PR bootstrap/54484 (r190927 breaks bootstrap with clang compiler)
PR bootstrap/54484
	* vec.h (vec_t::lower_bound): Fix spelling of LESSTHAN
	argument.

From-SVN: r190988
2012-09-05 12:34:42 -04:00
Jakub Jelinek 854f927236 re PR middle-end/54486 (Spurious printf format warning mentions nonexistent type 'sizetype')
PR middle-end/54486
	* builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
	build_int_cst with size_type_node instead of size_int.

	* c-c++-common/pr54486.c: New test.

From-SVN: r190986
2012-09-05 18:27:55 +02:00
Uros Bizjak 305b3c9bdc sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>): Use register_operand instead of reg_not_xmm0_operand{,_maybe_avx}.
* config/i386/sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>):
	Use register_operand instead of reg_not_xmm0_operand{,_maybe_avx}.
	Use nonimmediate_operand instead of
	nonimm_not_xmm0_operand{,_maybe_avx}.
	(<sse4_1_avx2>_pblendvb): Ditto.
	(sse4_2_pcmpestr): Ditto.
	(*sse4_2_pcmpestr_unaligned): Ditto.
	(sse4_2_pcmpistr): Ditto.
	(*sse4_2_pcmpistr_unaligned): Ditto.
	* config/i386/predicates.md (reg_not_xmm0_operand): Remove predicate.
	(nonimm_not_xmm0_operand): Ditto.
	(nonimm_not_xmm0_operand_maybe_avx): Ditto.
	(nonimm_not_xmm0_operand_maybe_avx): Ditto.
	* config/i386/i386.md (rdpmc): Do not force operand 1 into ecx.

From-SVN: r190985
2012-09-05 17:20:01 +02:00
Ulrich Drepper efc622f843 random.cc (random_device::_M_init): Check whether cpuid instruction is available by using __get_cpuid_max.
* src/c++11/random.cc (random_device::_M_init): Check whether cpuid
	instruction is available by using __get_cpuid_max.

From-SVN: r190982
2012-09-05 13:54:57 +00:00
Eric Botcazou 4700dd70e1 bb-reorder.c: Clarify a few points in the head comment and fix long lines in other comments.
* bb-reorder.c: Clarify a few points in the head comment and fix
	long lines in other comments.
	(find_traces): Fix long line.
	(find_traces_1_round): Likewise.
	(better_edge_p): Likewise.
	(connect_traces): Likewise.
	(duplicate_computed_gotos): Likewise.
	(find_rarely_executed_basic_blocks_and_cr): Remove trailing spaces.
	(fix_up_fall_thru_edges): Fix formatting.

From-SVN: r190979
2012-09-05 13:37:12 +00:00
Richard Guenther 18eb76ebfa re PR tree-optimization/46590 (long compile time with -O2 and many loops)
2012-09-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46590
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Do not
	update SSA form here.
	(canonicalize_induction_variables): Assert we do not need to
	update SSA form.
	(tree_unroll_loops_completely): Update SSA form here.
	* tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
	Do not verify loop-closed SSA form if SSA form is not up-to-date.

From-SVN: r190978
2012-09-05 13:29:13 +00:00
Dominique d'Humieres e124e65f35 re PR fortran/54474 (gfortran.dg/coarray_poly_3.f90)
2012-09-05  Dominique Dhumieres  <dominiq@lps.ens.fr>

	PR fortran/54474
	* gfortran.dg/coarray_poly_3.f90: Adjust error messages.

From-SVN: r190977
2012-09-05 13:26:58 +00:00
Ulrich Drepper ff99de9860 * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
(operator()): Use __generate() function of _M_nd.

From-SVN: r190975
2012-09-05 12:41:17 +00:00
Paolo Carlini 22854930b9 re PR c++/54191 ([C++11] SFINAE does not handle conversion to inaccessible base)
/cp
2012-09-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54191
	* search.c (lookup_base): Add tsubst_flags_t parameter.
	(adjust_result_of_qualified_name_lookup, check_final_overrider):
	Adjust.
	* name-lookup.c (do_class_using_decl): Adjust.
	* typeck2.c (binfo_or_else, build_scoped_ref, build_m_component_ref):
	Likewise.
	* cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
	build_up_reference): Likewise.
	* rtti.c (build_dynamic_cast_1): Likewise.
	* tree.c (maybe_dummy_object): Likewise.
	* call.c (build_conditional_expr_1, build_over_call): Likewise.
	* cp-tree.h (UNIQUELY_DERIVED_FROM_P, PUBLICLY_UNIQUELY_DERIVED_P):
	Remove.
	(enum base_access_flags, ba_quiet): Remove.
	(uniquely_derived_from_p, publicly_uniquely_derived_p): Declare.
	* except.c (can_convert_eh): Adjust.
	* decl.c (grokdeclarator): Likewise.
	* typeck.c (comp_except_types, build_class_member_access_expr,
	finish_class_member_access_expr, get_member_function_from_ptrfunc,
	build_static_cast_1, get_delta_difference_1): Likewise.
	* class.c (build_base_path, convert_to_base, build_vtbl_ref_1,
	warn_about_ambiguous_bases): Likewise.
	(uniquely_derived_from_p, publicly_uniquely_derived_p): Define.

/testsuite
2012-09-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54191
	* g++.dg/cpp0x/sfinae39.C: New.

From-SVN: r190969
2012-09-05 10:14:37 +00:00
Georg-Johann Lay b588ae3074 re PR target/54461 ([avr] add configure option for better AVR-Libc integration)
PR target/54461
	* configure.ac (noconfigdirs,target=avr-*-*): Add target-newlib,
	target-libgloss if not configured --with-avrlibc=no.
	* configure: Regenerate.

libgcc/
	PR target/54461
	* config.host (tmake_file,host=avr-*-*): Add avr/t-avrlibc if
	not configured --with-avrlibc=no.
	* config/avr/t-avrlibc: New file.
	* Makefile.in (FPBIT_FUNCS): filter-out LIB2FUNCS_EXCLUDE.
	(DPBIT_FUNCS): Ditto.
	(TPBIT_FUNCS): Ditto.

gcc/
	PR target/54461
	* config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
	not configured --with-avrlibc=no.
	(tm_defines,target=avr-*-*): Add WITH_AVRLIBC if not configured
	--with-avrlibc=no.
	* config/avr/avrlibc.h: New file.
	* config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
	not configured --with-avrlibc=no.
	* doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__

From-SVN: r190967
2012-09-05 08:47:50 +00:00
Bin Cheng 4efbb06f67 Add missed ChangeLog entry for r190919.
From-SVN: r190965
2012-09-05 07:44:25 +00:00
Jason Merrill faddc0d7c2 re PR c++/54441 (Infinite loop with brace initializer on zero-length array)
PR c++/54441
	* decl.c (reshape_init_class): Handle invalid initializer for
	0-length array member.

	* error.c (dump_type_suffix): Correct handling of 0-length arrays.

From-SVN: r190962
2012-09-05 00:17:12 -04:00
Jason Merrill 5a706c322d re PR c++/54420 (Segmentation fault in decl_mangling_context)
PR c++/54420
	* cp-tree.h (LAMBDANAME_P): Remove.
	(LAMBDA_TYPE_P): Check CLASSTYPE_LAMBDA_EXPR instead.
	* cp-lang.c (cxx_dwarf_name): Likewise.
	* error.c (dump_aggr_type): Likewise.
	* semantics.c (begin_lambda_type): Set CLASSTYPE_LAMBDA_EXPR sooner.

From-SVN: r190961
2012-09-05 00:16:58 -04:00
Ulrich Drepper bf30f22962 random: Add __gnu_cxx:normal_mv_distribution<> class.
* include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
	* include/ext/random.tccAdd out-of-line functions for
	__gnu_cxx::normal_mv_distribution<>.
	* testsuite/26_numerics/random/normal_mv_distribution/
	operators/equal.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	operators/serialize.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	operators/inequal.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	cons/default.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	cons/parms.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	requirements/explicit_instantiation/1.cc: New file.
	* testsuite/26_numerics/random/normal_mv_distribution/
	requirements/typedefs.cc: New file.

From-SVN: r190960
2012-09-05 04:06:24 +00:00
GCC Administrator 29ac1b66e0 Daily bump.
From-SVN: r190957
2012-09-05 00:18:19 +00:00
Ulrich Drepper d4d348a9fe random: Add __gnu_cxx::beta_distribution<> class.
* libstdc++-v3/include/ext/random: Add __gnu_cxx::beta_distribution<>
	class.
	* libstdc++-v3/include/ext/random.tcc: Add out-of-line functions for
	__gnu_cxx::beta_distribution<>.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	operators/equal.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	operators/serialize.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	operators/inequal.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	cons/parms.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	cons/default.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	requirements/typedefs.cc: New file.
	* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
	requirements/explicit_instantiation/1.cc: New file.

From-SVN: r190954
2012-09-04 22:57:09 +00:00
Teresa Johnson abd16fb112 Adding change log entries for r190952:
Enhances the gcov program summary by adding a histogram of arc counter
entries. This is used to compute working set information in the compiler
for use by optimizations that need information on hot vs cold counter
values or the rough working set size in terms of the number of counters.
Each working set data point is the minimum counter value and number of
counters required to reach a given percentage of the cumulative counter
sum across the profiled execution (sum_all in the program summary).

2012-09-04  Teresa Johnson  <tejohnson@google.com>

	* libgcc/libgcov.c (struct gcov_summary_buffer): New structure.
	(gcov_histogram_insert): New function.
	(gcov_compute_histogram): Ditto.
	(gcov_exit): Invoke gcov_compute_histogram, and perform merging of
	histograms during summary merging.
	* gcc/gcov-io.c (gcov_write_summary): Write out non-zero histogram
	entries to function summary along with an occupancy bit vector.
	(gcov_read_summary): Read in the histogram entries.
	(gcov_histo_index): New function.
	(void gcov_histogram_merge): Ditto.
	* gcc/gcov-io.h (gcov_type_unsigned): New type.
	(struct gcov_bucket_type): Ditto.
	(struct gcov_ctr_summary): Include histogram.
	(GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries.
	(GCOV_HISTOGRAM_SIZE): New macro.
	(GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto.
	* gcc/profile.c (NUM_GCOV_WORKING_SETS): Ditto.
	(gcov_working_sets): New global variable.
	(compute_working_sets): New function.
	(find_working_set): Ditto.
	(get_exec_counts): Invoke compute_working_sets.
	* gcc/coverage.c (read_counts_file): Merge histograms, and
	fix bug with accessing summary info for non-summable counters.
	* gcc/basic-block.h (gcov_type_unsigned): New type.
	(struct gcov_working_set_info): Ditto.
	(find_working_set): Declare.
	* gcc/gcov-dump.c (tag_summary): Dump out histogram.

From-SVN: r190953
2012-09-04 21:20:30 +00:00
Teresa Johnson 9f71de8404 Enhances the gcov program summary by adding a histogram of arc counter entries.
Enhances the gcov program summary by adding a histogram of arc counter
entries. This is used to compute working set information in the compiler
for use by optimizations that need information on hot vs cold counter
values or the rough working set size in terms of the number of counters.
Each working set data point is the minimum counter value and number of
counters required to reach a given percentage of the cumulative counter
sum across the profiled execution (sum_all in the program summary).

2012-09-04  Teresa Johnson  <tejohnson@google.com>

	* libgcc/libgcov.c (struct gcov_summary_buffer): New structure.
	(gcov_histogram_insert): New function.
	(gcov_compute_histogram): Ditto.
	(gcov_exit): Invoke gcov_compute_histogram, and perform merging of
	histograms during summary merging.
	* gcc/gcov-io.c (gcov_write_summary): Write out non-zero histogram
	entries to function summary along with an occupancy bit vector.
	(gcov_read_summary): Read in the histogram entries.
	(gcov_histo_index): New function.
	(void gcov_histogram_merge): Ditto.
	* gcc/gcov-io.h (gcov_type_unsigned): New type.
	(struct gcov_bucket_type): Ditto.
	(struct gcov_ctr_summary): Include histogram.
	(GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries.
	(GCOV_HISTOGRAM_SIZE): New macro.
	(GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto.
	* gcc/profile.c (NUM_GCOV_WORKING_SETS): Ditto.
	(gcov_working_sets): New global variable.
	(compute_working_sets): New function.
	(find_working_set): Ditto.
	(get_exec_counts): Invoke compute_working_sets.
	* gcc/coverage.c (read_counts_file): Merge histograms, and
	fix bug with accessing summary info for non-summable counters.
	* gcc/basic-block.h (gcov_type_unsigned): New type.
	(struct gcov_working_set_info): Ditto.
	(find_working_set): Declare.
	* gcc/gcov-dump.c (tag_summary): Dump out histogram.

From-SVN: r190952
2012-09-04 21:16:18 +00:00
Diego Novillo bde6de5d4b Fix bootstrap failure with clang++.
This patch fixes a bootstrap failure when using clang as the host
compiler.  Default arguments for class template member functions
should be added in the declaration, not the definition.

From Jason:

> 8.3.6 says "Default arguments for a member function of a class template shall
> be specified on the initial declaration of the member function within the
> class template."

	PR bootstrap/54484
	* vec.h (vec_t::embedded_init): Move default argument value
	to function declaration.

From-SVN: r190951
2012-09-04 17:07:48 -04:00
Jason Merrill afba316b46 re PR c++/54198 ("error: invalid use of incomplete type" when building Chromium)
PR c++/54198
	* decl.c (check_default_argument): Set cp_unevaluated_operand
	around call to perform_implicit_conversion_flags.

From-SVN: r190949
2012-09-04 15:35:02 -04:00
Eric Botcazou 427b8bb8d7 bb-reorder.c (gate_handle_reorder_blocks): Move around.
* bb-reorder.c (gate_handle_reorder_blocks): Move around.
	(rest_of_handle_reorder_blocks): Likewise.
	(pass_reorder_blocks): Likewise.
	(gate_handle_partition_blocks): Likewise.

From-SVN: r190948
2012-09-04 19:11:37 +00:00
Eric Botcazou 88a8ba9581 re PR rtl-optimization/54456 (ICE: in init_seqno, at sel-sched.c:6797 with -fschedule-insns -fselective-scheduling)
PR rtl-optimization/54456
	* sched-rgn.c (gate_handle_sched): Return 1 only if optimize > 0.

From-SVN: r190947
2012-09-04 19:05:38 +00:00
Jason Merrill 92383a2a11 re PR c++/54437 (Revision 190664 causes Firefox build failure)
PR c++/54437
	PR c++/51213
	* pt.c (fn_type_unification): Call coerce_template_parms before
	entering substitution context.

From-SVN: r190946
2012-09-04 14:49:51 -04:00
Jason Merrill 178f875aa0 * configure.ac: Fix --enable-languages=all.
From-SVN: r190945
2012-09-04 14:49:41 -04:00
Diego Novillo 326280d422 This patch works around a parsing problem with g++ 4.3.
This patch works around a parsing problem with g++ 4.3.  The parser is
failing to lookup calls to the template function reserve when called
from other member functions:

vec_t<T>::reserve<A> (...)

The parser thinks that the '<' in reserve<A> is a less-than operation.
This problem does not happen after 4.3.

This code is going to change significantly, so this won't be needed
soon.

Tested on x86_64 with g++ 4.3 and g++ 4.6.

	PR bootstrap/54478
	* vec.h (vec_t::alloc): Remove explicit type specification
	in call to reserve.
	(vec_t::copy): Likewise.
	(vec_t::reserve): Likewise.
	(vec_t::reserve_exact): Likewise.
	(vec_t::safe_splice): Likewise.
	(vec_t::safe_push): Likewise.
	(vec_t::safe_grow): Likewise.
	(vec_t::safe_grow_cleared): Likewise.
	(vec_t::safe_insert): Likewise.

From-SVN: r190943
2012-09-04 14:33:29 -04:00