1. 07 Sep, 2012 1 commit
    • Modify gcc/*.[hc] double_int call sites to use the new interface. · 27bcd47c
      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
      Lawrence Crowl committed
  2. 06 Sep, 2012 16 commits
  3. 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