Skip to content
Snippets Groups Projects
  1. Sep 05, 2012
    • Andrew Pinski's avatar
      optabs.c (emit_conditional_add): Correct comment about the arguments. · 5285c21c
      Andrew Pinski authored
      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
      5285c21c
    • Uros Bizjak's avatar
      * ChangeLog: Fix date of my last commit. · 933d309f
      Uros Bizjak authored
      From-SVN: r190993
      933d309f
    • Uros Bizjak's avatar
      fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and __builtin_ia32_ldmxcsr intrinsics. · df36cec0
      Uros Bizjak authored
      	* config/fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and
      	__builtin_ia32_ldmxcsr intrinsics.
      
      From-SVN: r190992
      df36cec0
    • François Dumont's avatar
      re PR libstdc++/54296 (using the object in the map to erase element from the map crashes) · 31578792
      François Dumont authored
      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
      31578792
    • Oleg Endo's avatar
      hooks.c (hook_int_rtx_mode_as_bool_0): New function. · b413068c
      Oleg Endo authored
      	* 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
      b413068c
    • Tobias Burnus's avatar
      re PR fortran/54462 (Another "segmentation fault" after an error in COMMON statement after r190853) · 04529aba
      Tobias Burnus authored
      2012-09-05  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54462
              * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.
      
      From-SVN: r190989
      04529aba
    • Diego Novillo's avatar
      re PR bootstrap/54484 (r190927 breaks bootstrap with clang compiler) · 7e7d75c1
      Diego Novillo authored
      	PR bootstrap/54484
      	* vec.h (vec_t::lower_bound): Fix spelling of LESSTHAN
      	argument.
      
      From-SVN: r190988
      7e7d75c1
    • Jakub Jelinek's avatar
      re PR middle-end/54486 (Spurious printf format warning mentions nonexistent type 'sizetype') · 854f9272
      Jakub Jelinek authored
      	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
      854f9272
    • Uros Bizjak's avatar
      sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>): Use register_operand... · 305b3c9b
      Uros Bizjak authored
      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
      305b3c9b
    • Ulrich Drepper's avatar
      random.cc (random_device::_M_init): Check whether cpuid instruction is... · efc622f8
      Ulrich Drepper authored
      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
      efc622f8
    • Eric Botcazou's avatar
      bb-reorder.c: Clarify a few points in the head comment and fix long lines in other comments. · 4700dd70
      Eric Botcazou authored
      	* 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
      4700dd70
    • Richard Guenther's avatar
      re PR tree-optimization/46590 (long compile time with -O2 and many loops) · 18eb76eb
      Richard Guenther authored
      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
      18eb76eb
    • Dominique d'Humieres's avatar
      re PR fortran/54474 (gfortran.dg/coarray_poly_3.f90) · e124e65f
      Dominique d'Humieres authored
      2012-09-05  Dominique Dhumieres  <dominiq@lps.ens.fr>
      
      	PR fortran/54474
      	* gfortran.dg/coarray_poly_3.f90: Adjust error messages.
      
      From-SVN: r190977
      e124e65f
    • Ulrich Drepper's avatar
      * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>) · ff99de98
      Ulrich Drepper authored
      	(operator()): Use __generate() function of _M_nd.
      
      From-SVN: r190975
      ff99de98
    • Paolo Carlini's avatar
      re PR c++/54191 ([C++11] SFINAE does not handle conversion to inaccessible base) · 22854930
      Paolo Carlini authored
      /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
      22854930
    • Georg-Johann Lay's avatar
      re PR target/54461 ([avr] add configure option for better AVR-Libc integration) · b588ae30
      Georg-Johann Lay authored
      	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
      b588ae30
    • Bin Cheng's avatar
      Add missed ChangeLog entry for r190919. · 4efbb06f
      Bin Cheng authored
      From-SVN: r190965
      4efbb06f
    • Jason Merrill's avatar
      re PR c++/54441 (Infinite loop with brace initializer on zero-length array) · faddc0d7
      Jason Merrill authored
      	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
      faddc0d7
    • Jason Merrill's avatar
      re PR c++/54420 (Segmentation fault in decl_mangling_context) · 5a706c32
      Jason Merrill authored
      	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
      5a706c32
    • Ulrich Drepper's avatar
      random: Add __gnu_cxx:normal_mv_distribution<> class. · bf30f229
      Ulrich Drepper authored
      	* 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
      bf30f229
    • GCC Administrator's avatar
      Daily bump. · 29ac1b66
      GCC Administrator authored
      From-SVN: r190957
      29ac1b66
  2. Sep 04, 2012
    • Ulrich Drepper's avatar
      random: Add __gnu_cxx::beta_distribution<> class. · d4d348a9
      Ulrich Drepper authored
      	* 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
      d4d348a9
    • Teresa Johnson's avatar
      Adding change log entries for r190952: · abd16fb1
      Teresa Johnson authored
      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
      abd16fb1
    • Teresa Johnson's avatar
      Enhances the gcov program summary by adding a histogram of arc counter entries. · 9f71de84
      Teresa Johnson authored
      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
      9f71de84
    • Diego Novillo's avatar
      Fix bootstrap failure with clang++. · bde6de5d
      Diego Novillo authored
      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
      bde6de5d
    • Jason Merrill's avatar
      re PR c++/54198 ("error: invalid use of incomplete type" when building Chromium) · afba316b
      Jason Merrill authored
      	PR c++/54198
      	* decl.c (check_default_argument): Set cp_unevaluated_operand
      	around call to perform_implicit_conversion_flags.
      
      From-SVN: r190949
      afba316b
    • Eric Botcazou's avatar
      bb-reorder.c (gate_handle_reorder_blocks): Move around. · 427b8bb8
      Eric Botcazou authored
      	* 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
      427b8bb8
    • Eric Botcazou's avatar
      re PR rtl-optimization/54456 (ICE: in init_seqno, at sel-sched.c:6797 with... · 88a8ba95
      Eric Botcazou authored
      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
      88a8ba95
    • Jason Merrill's avatar
      re PR c++/54437 (Revision 190664 causes Firefox build failure) · 92383a2a
      Jason Merrill authored
      	PR c++/54437
      	PR c++/51213
      	* pt.c (fn_type_unification): Call coerce_template_parms before
      	entering substitution context.
      
      From-SVN: r190946
      92383a2a
    • Jason Merrill's avatar
      * configure.ac: Fix --enable-languages=all. · 178f875a
      Jason Merrill authored
      From-SVN: r190945
      178f875a
    • Diego Novillo's avatar
      This patch works around a parsing problem with g++ 4.3. · 326280d4
      Diego Novillo authored
      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
      326280d4
    • Richard Henderson's avatar
      96672a3e
    • Steven Bosscher's avatar
      re PR bootstrap/54453 (r190783 breaks bootstrap on powerpc64-unknown-linux-gnu) · 1a044f41
      Steven Bosscher authored
      	PR bootstrap/54453
      	* include/Makefile.am: Fix regex.
      	* include/Makefile.in: Regenerate.
      
      From-SVN: r190939
      1a044f41
    • Richard Guenther's avatar
      tree-ssa-pre.c (value_expressions): Make it a vector of bitmaps containing expression IDs. · 4d4b1b30
      Richard Guenther authored
      2012-09-04  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-pre.c (value_expressions): Make it a vector of
      	bitmaps containing expression IDs.
      	(add_to_value): Adjust.
      	(sorted_array_from_bitmap_set): Likewise.
      	(bitmap_set_replace_value): Likewise.
      	(print_value_expressions): Likewise.
      	(get_constant_for_value_id): Likewise.
      	(get_representative_for): Likewise.
      	(phi_translate_1): Likewise.
      	(bitmap_find_leader): Likewise.
      	(find_or_generate_expression): Likewise.
      	(do_regular_insertion): Likewise.
      	(init_pre): Likewise.
      	(fini_pre): Likewise.
      
      From-SVN: r190938
      4d4b1b30
    • Diego Novillo's avatar
      re PR bootstrap/54479 (Bootstrap with release-checking broken) · dce6e8ad
      Diego Novillo authored
      	PR bootstrap/54479
      	* vec.h (vec_t::copy): Add cast in call to reserve_exact.
      
      From-SVN: r190937
      dce6e8ad
    • Eric Botcazou's avatar
      0e9f719a
    • Richard Guenther's avatar
      tree-ssa-pre.c (add_to_exp_gen): Adjust. · 3c1d57d0
      Richard Guenther authored
      2012-09-04  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-pre.c (add_to_exp_gen): Adjust.
      	(make_values_for_phi): Do not add to PHI_GEN for FRE.
      	(compute_avail): Stop processing after adding all defs to
      	AVAIL_OUT for FRE.
      	(init_pre): Do not allocate not needed bitmap sets for FRE.
      
      From-SVN: r190930
      3c1d57d0
    • Diego Novillo's avatar
      * testsuite-management/x86_64-unknown-linux-gnu.xfail: Update. · e8f6d046
      Diego Novillo authored
      From-SVN: r190929
      e8f6d046
    • Christophe Lyon's avatar
      MAINTAINERS (Write After Approval): Add myself. · 7c2f37eb
      Christophe Lyon authored
      2012-09-04  Christophe Lyon  <christophe.lyon@st.com>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r190928
      7c2f37eb
    • Diego Novillo's avatar
      Make all VEC_* functions, member functions of vec_t. · bd0c3bfd
      Diego Novillo authored
      This patch is the first step towards making the API for VEC use
      member functions.
      
      There are no user code modifications in this patch.  Everything
      is still using the VEC_* macros, but this time they expand into
      member function calls.
      
      Because of the way VECs are used, this required some trickery.
      The API allows VECs to be NULL.  This means that services like
      VEC_length(V) will return 0 when V is a NULL pointer.  This is,
      of course, not possible to do if we call V->length().
      
      For functions that either need to allocate/re-allocate the
      vector, or they need to handle NULL vectors, I implemented them
      as static member functions or free functions.
      
      Another wart that I did not address in this patch is the fact
      that vectors of pointers and vectors of objects have slightly
      different semantics when handling elements in the vector.  In
      vector of pointers, we pass them around by value, but in vectors
      of objects, they are passed around via pointers.  That's why we
      need TYPE * and TYPE ** overloads for some functions (e.g.,
      vec_t::iterate).
      
      I will fix these two warts in a subsequent patch.  The idea is to
      make vec_t a single-word structure, which acts as a handler for
      the structure containing the actual vector.  Something like this:
      
      template<typename T>
      struct vec_t
      {
        struct vec_internal<T> *vec_;
      };
      
      This has the advantage that we can now declare the actual vector
      instances as regular variables, instead of pointers.  They will
      use the same amount of memory when embedded in other structures,
      and we will be able to allocate and reallocate the actual data
      without having to mutate the vector instance.
      
      All the functions that are now static members in vec_t, will
      become instance members in the new vec_t.  This will mean that
      all the callers will need to be changed, of course.
      
      Tested on x86_64 and ppc64 with all languages plus ada, go and obj-c++.
      
      	Rewrite VEC_* functions as member functions of vec_t.
      
      	* vec.h: Update documentation.
      	(ALONE_VEC_CHECK_INFO): Define.
      	(ALONE_VEC_CHECK_DECL): Define.
      	(ALONE_VEC_CHECK_PASS): Define.
      	(struct vec_prefix): Rename field NUM to NUM_.
      	Rename field ALLOC to ALLOC_.
      	Update all users.
      	(struct vec_t): Rename field PREFIX to PREFIX_.
      	Rename field VEC to VEC_.
      	Update all users.
      	(vec_t::length): Rename from VEC_length_1.  Update all users.
      	(vec_t::empty): Rename from VEC_empty_1.  Update all users.
      	(vec_t::address): Rename from VEC_address_1.  Update all users.
      	(vec_address): New.
      	(vec_t::last): Rename from VEC_last_1.  Update all users.
      	(vec_t::operator[]): Rename from VEC_index_1.  Update all users.
      	(vec_t::iterate): Rename from VEC_iterate_1.  Update all users.
      	(vec_t::embedded_size): Rename from VEC_embedded_size_1.
      	Update all users.
      	(vec_t::embedded_init): Rename from VEC_embedded_init_1.
      	Update all users.
      	(vec_t::alloc): Rename from VEC_alloc_1.  Update all users.
      	(vec_t::free): Rename from VEC_free_1.  Update all users.
      	(vec_t::copy): Rename from VEC_copy_1.  Update all users.
      	(vec_t::space): Rename from VEC_space_1.  Update all users.
      	(vec_t::reserve): Rename from VEC_reserve_1.  Update all users.
      	(vec_t::reserve_exact): Rename from VEC_reserve_exact_1.
      	Update all users.
      	(vec_t::splice): Rename from VEC_splice_1.  Update all users.
      	(vec_t::safe_splice): Rename from VEC_safe_splice_1.  Update all users.
      	(vec_t::quick_push): Rename from VEC_quick_push_1.  Update all users.
      	(vec_t::safe_push): Rename from VEC_safe_push_1.  Update all users.
      	(vec_t::pop): Rename from VEC_pop_1.  Update all users.
      	(vec_t::truncate): Rename from VEC_truncate_1.  Update all users.
      	(vec_t::safe_grow): Rename from VEC_safe_grow_1.  Update all users.
      	(vec_t::safe_grow_cleared): Rename from VEC_safe_grow_cleared_1.
      	Update all users.
      	(vec_t::replace): Rename from VEC_replace_1.  Update all users.
      	(vec_t::quick_insert): Rename from VEC_quick_insert_1.
      	Update all users.
      	(vec_t::safe_insert): Rename from VEC_safe_insert_1.  Update all users.
      	(vec_t::ordered_remove): Rename from VEC_ordered_remove_1.
      	Update all users.
      	(vec_t::unordered_remove): Rename from VEC_unordered_remove_1.
      	Update all users.
      	(vec_t::block_remove): Rename from VEC_block_remove_1. Update all users.
      	(vec_t::lower_bound): Rename from VEC_lower_bound_1. Update all users.
      
      From-SVN: r190927
      bd0c3bfd
Loading