1. 06 Sep, 2012 11 commits
  2. 05 Sep, 2012 23 commits
    • ipa-inline.c (want_inline_small_function_p): Use INLINE_HINT_loop_iterations hint. · 7c99ab65
      
      	* ipa-inline.c (want_inline_small_function_p): Use INLINE_HINT_loop_iterations
      	hint.
      
      From-SVN: r190999
      Jan Hubicka committed
    • fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v. · 588dbb19
      	* config/fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v.
      
      From-SVN: r190997
      Uros Bizjak committed
    • optabs.c (emit_conditional_add): Correct comment about the arguments. · 5285c21c
      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
      Andrew Pinski committed
    • * ChangeLog: Fix date of my last commit. · 933d309f
      From-SVN: r190993
      Uros Bizjak committed
    • fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and __builtin_ia32_ldmxcsr intrinsics. · df36cec0
      	* config/fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and
      	__builtin_ia32_ldmxcsr intrinsics.
      
      From-SVN: r190992
      Uros Bizjak committed
    • re PR libstdc++/54296 (using the object in the map to erase element from the map crashes) · 31578792
      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
      François Dumont committed
    • hooks.c (hook_int_rtx_mode_as_bool_0): New function. · b413068c
      	* 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
      Oleg Endo committed
    • re PR fortran/54462 (Another "segmentation fault" after an error in COMMON statement after r190853) · 04529aba
      2012-09-05  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54462
              * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.
      
      From-SVN: r190989
      Tobias Burnus committed
    • re PR bootstrap/54484 (r190927 breaks bootstrap with clang compiler) · 7e7d75c1
      	PR bootstrap/54484
      	* vec.h (vec_t::lower_bound): Fix spelling of LESSTHAN
      	argument.
      
      From-SVN: r190988
      Diego Novillo committed
    • re PR middle-end/54486 (Spurious printf format warning mentions nonexistent type 'sizetype') · 854f9272
      	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
      Jakub Jelinek committed
    • sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>): Use register_operand… · 305b3c9b
      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
      Uros Bizjak committed
    • random.cc (random_device::_M_init): Check whether cpuid instruction is available… · efc622f8
      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
      Ulrich Drepper committed
    • bb-reorder.c: Clarify a few points in the head comment and fix long lines in other comments. · 4700dd70
      	* 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
      Eric Botcazou committed
    • re PR tree-optimization/46590 (long compile time with -O2 and many loops) · 18eb76eb
      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
      Richard Guenther committed
    • re PR fortran/54474 (gfortran.dg/coarray_poly_3.f90) · e124e65f
      2012-09-05  Dominique Dhumieres  <dominiq@lps.ens.fr>
      
      	PR fortran/54474
      	* gfortran.dg/coarray_poly_3.f90: Adjust error messages.
      
      From-SVN: r190977
      Dominique d'Humieres committed
    • * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>) · ff99de98
      	(operator()): Use __generate() function of _M_nd.
      
      From-SVN: r190975
      Ulrich Drepper committed
    • re PR c++/54191 ([C++11] SFINAE does not handle conversion to inaccessible base) · 22854930
      /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
      Paolo Carlini committed
    • re PR target/54461 ([avr] add configure option for better AVR-Libc integration) · b588ae30
      	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
      Georg-Johann Lay committed
    • Add missed ChangeLog entry for r190919. · 4efbb06f
      From-SVN: r190965
      Bin Cheng committed
    • re PR c++/54441 (Infinite loop with brace initializer on zero-length array) · faddc0d7
      	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
      Jason Merrill committed
    • re PR c++/54420 (Segmentation fault in decl_mangling_context) · 5a706c32
      	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
      Jason Merrill committed
    • random: Add __gnu_cxx:normal_mv_distribution<> class. · bf30f229
      
      	* 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
      Ulrich Drepper committed
    • Daily bump. · 29ac1b66
      From-SVN: r190957
      GCC Administrator committed
  3. 04 Sep, 2012 6 commits
    • random: Add __gnu_cxx::beta_distribution<> class. · d4d348a9
      
      	* 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
      Ulrich Drepper committed
    • Adding change log entries for r190952: · abd16fb1
      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
      Teresa Johnson committed
    • Enhances the gcov program summary by adding a histogram of arc counter entries. · 9f71de84
      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
      Teresa Johnson committed
    • Fix bootstrap failure with clang++. · bde6de5d
      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
      Diego Novillo committed
    • re PR c++/54198 ("error: invalid use of incomplete type" when building Chromium) · afba316b
      	PR c++/54198
      	* decl.c (check_default_argument): Set cp_unevaluated_operand
      	around call to perform_implicit_conversion_flags.
      
      From-SVN: r190949
      Jason Merrill committed
    • bb-reorder.c (gate_handle_reorder_blocks): Move around. · 427b8bb8
      	* 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
      Eric Botcazou committed