1. 07 Sep, 2012 16 commits
    • pt.c (num_template_headers_for_class): Rework per the code inline in… · e4394af5
      pt.c (num_template_headers_for_class): Rework per the code inline in cp_parser_check_declarator_template_parameters.
      
      2012-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* pt.c (num_template_headers_for_class): Rework per the code
      	inline in cp_parser_check_declarator_template_parameters.
      	* parser.c (cp_parser_check_declarator_template_parameters):
      	Use num_template_headers_for_class.
      
      From-SVN: r191082
      Paolo Carlini committed
    • re PR testsuite/54184 (gcc.dg/pr52558-1.c failure) · c294eb47
      	PR testsuite/54184
      	* gcc.dg/pr52558-1.c: Delete.
      	* gcc.dg/simulate-thread/speculative-store-2.c: New.
      
      From-SVN: r191079
      Aldy Hernandez committed
    • v850.h (DBX_DEBUGGING_INFO): Define. · b12b5029
      	* config/v850/v850.h (DBX_DEBUGGING_INFO): Define.
      	(ASM_GENERATE_INTERNAL_LABEL): Define if not already provided.
      	* config/v850/v850.c (compute_register_save_size): Always include
      	the link pointer.
      	(increment_stack): New function - emits insns to increment or
      	decrement the stack pointer.
      	(expand_prologue, expand_epilogue): Use it.
      	(expand_prologue): Set the function stack size, if requested.
      	(v850_debug_unwind_info): New function.
      	(TARGET_DEBUG_UNWIND_INFO): Define.
      
      From-SVN: r191076
      Nick Clifton committed
    • This fixes part of the issue described in PR gcov-profile/54487 where there... · c6c36e73
      This fixes part of the issue described in PR gcov-profile/54487 where
      there were warnings about mismatches due to slight differences in the
      merged histograms in different object files. This can happen due to
      the truncating integer division in the merge routine, which could result
      in slightly different histograms when summaries are merged in different
      orders.
      
      2012-09-07  Teresa Johnson  <tejohnson@google.com>
      
              PR gcov-profile/54487
      	* libgcc/libgcov.c (gcov_exit): Avoid warning on histogram
              differences.
      
      From-SVN: r191074
      Teresa Johnson committed
    • trans.c (Loop_Statement_to_gnu): Revert to using size_type_node instead of sizetype. · 48d3d75d
      	* gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
      	size_type_node instead of sizetype.
      
      From-SVN: r191069
      Eric Botcazou committed
    • re PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong value extension) · e919e5bf
      	PR tree-ssa/54295
      	* tree-ssa-math-opts.c (widening_mult_conversion_strippable_p):
      	Sign-extension of a zero-extended value can be simplified to
      	just zero-extension.
      
      testsuite:
      	* gcc.target/arm/pr50318-1.c: Scan for smlal.
      	* gcc.target/arm/smlaltb-1.c: XFAIL test.
      	* gcc.target/arm/smlaltt-1.c: Likewise.
      
      From-SVN: r191066
      Richard Earnshaw committed
    • re PR middle-end/53667 (Cray pointer: Wrong result with optimizations) · 81ab7312
      2012-09-07  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/53667
      	* tree-ssa-structalias.c (handle_rhs_call): Properly clobber
      	EAF_NOESCAPED arguments.  Transitively close non-EAF_DIRECT
      	arguments separately.
      
      From-SVN: r191064
      Richard Guenther committed
    • bitmap.c (bitmap_last_set_bit): Rewrite to return the correct bit. · d630245f
      	* bitmap.c (bitmap_last_set_bit): Rewrite to return the correct bit.
      
      	* graphite.c (print_global_statistics): Use EDGE_COUNT instead
      	of VEC_length.
      	(print_graphite_scop_statistics): Likewise.
      	* graphite-scop-detection.c (get_bb_type): Use single_succ_p.
      	(print_graphite_scop_statistics): Use EDGE_COUNT, not VEC_length.
      	(canonicalize_loop_closed_ssa): Use single_pred_p.
      
      	* alias.c (reg_seen): Make this an sbitmap.
      	(record_set, init_alias_analysis): Update.
      
      	* tree-ssa-coalesce.c (ssa_conflicts_dump): Fix dumping.
      
      From-SVN: r191063
      Steven Bosscher committed
    • re PR tree-optimization/53986 (missing vrp on bit-mask test, LSHIFT_EXPR not handled) · 4d9df7c4
      2012-09-07  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/53986
      	* gcc.dg/tree-ssa/vrp80.c: New test.
      	* gcc.dg/tree-ssa/vrp80-2.c: Same.
      
      From-SVN: r191058
      Tom de Vries committed
    • re PR tree-optimization/53986 (missing vrp on bit-mask test, LSHIFT_EXPR not handled) · 25722436
      2012-09-07  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/53986
      	* tree-vrp.c (extract_range_from_multiplicative_op_1): Allow
      	LSHIFT_EXPR.
      	(extract_range_from_binary_expr_1): Handle LSHIFT with constant range as
      	shift amount.
      
      From-SVN: r191057
      Tom de Vries committed
    • aix43.h (RS6000_CALL_GLUE): Delete. · 7fb3b7a7
      2012-09-07  Segher Boessenkool  <segher@kernel.crashing.org>
      
      gcc/
      	* config/rs6000/aix43.h (RS6000_CALL_GLUE): Delete.
      	* config/rs6000/aix51.h (RS6000_CALL_GLUE): Delete.
      	* config/rs6000/aix52.h (RS6000_CALL_GLUE): Delete.
      	* config/rs6000/aix53.h (RS6000_CALL_GLUE): Delete.
      	* config/rs6000/aix61.h (RS6000_CALL_GLUE): Delete.
      	* config/rs6000/freebsd64.h (RS6000_CALL_GLUE): Delete.
      	* config/rs6000/linux64.h (RS6000_CALL_GLUE): Delete.
      	* config/rs6000/rs6000.c (print_operand) ['.']: Delete.
      	* config/rs6000/rs6000.h (RS6000_CALL_GLUE): Delete.
      	* config/rs6000/rs6000.md (tls_gd_aix<TLSmode:tls_abi_suffix>):
      	Replace %. with nop.
      	(tls_gd_call_aix<TLSmode:tls_abi_suffix>): Ditto.
      	(tls_ld_aix<TLSmode:tls_abi_suffix>): Ditto.
      	(tls_ld_call_aix<TLSmode:tls_abi_suffix>): Ditto.
      	(call_nonlocal_aix32): Ditto.
      	(call_nonlocal_aix64): Ditto.
      	(call_value_nonlocal_aix32): Ditto.
      	(call_value_nonlocal_aix64): Ditto.
      
      From-SVN: r191055
      Segher Boessenkool committed
    • invoke.texi (-ffat-lto-objects): Clarify that gcc-ar et.al. · 35d5c697
      2012-06-04  Andi Kleen <ak@linux.intel.com>
      
      	* doc/invoke.texi (-ffat-lto-objects): Clarify that gcc-ar
      	et.al. should be used.
      
      From-SVN: r191052
      Andi Kleen committed
    • Reduce memory usage for storing LTO decl resolutions · aed7d7cf
      With a LTO build of a large project (>11k subfiles incrementially linked)
      storing the LTO resolutions took over 0.5GB memory:
      
      lto/lto.c:1087 (lto_resolution_read)                      0: 0.0%  540398500           15903: 0.0%
      
      The reason is that the declaration indexes are quite sparse, but every subfile
      got a full continuous vector for them. Since there are so many of them the
      many vectors add up.
      
      This patch instead stores the resolutions initially in a compact (index, resolution)
      format. This is only expanded into a sparse vector for fast lookup when
      the subfile is actually read, but then immediately freed. This means only one
      vector is allocated at a time.
      
      This brings the overhead for this down to less than 3MB for the test case:
      
      lto/lto.c:1087 (lto_resolution_read)                      0: 0.0%    2821456           42186: 0.0%
      
      gcc/:
      
      2012-09-06  Andi Kleen  <ak@linux.intel.com>
      
      	* gcc/lto-streamer.h (res_pair): Add.
      	(lto_file_decl_data): Replace resolutions with respairs.
      	Add max_index.
      	* gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
      	Initialize respairs.
      	(lto_file_finalize): Set up resolutions vector lazily from respairs.
      
      From-SVN: r191051
      Andi Kleen committed
    • Daily bump. · 6e85a158
      From-SVN: r191050
      GCC Administrator committed
    • 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 8 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