1. 09 Sep, 2012 6 commits
    • passes.c (ipa_write_summaries_1): Set state; do not call compute_ltrans_boundary. · b4661bfe
      
      	* passes.c (ipa_write_summaries_1): Set state;
      	do not call compute_ltrans_boundary.
      	(ipa_write_optimization_summaries): Likewise.
      	(ipa_write_summaries): compute_ltrans_boundary here.
      	* lto-streamer.h (lto_symtab_encoder_d): NODES are allocated in heap.
      	(compute_ltrans_boundary): Update prototype.
      
      	* lto.c (lto_wpa_write_files): Do not delete partition encoder;
      	it is deleted after streaming.
      	* lto-partition.c (partition_symbol_p): New function.
      	(promote_var, promote_fn): Remove.
      	(promote_symbol): New function.
      	(lto_promote_cross_file_statics): First compute boundaries; rewrite
      	to lookup the actual boundaries instead of computing them ad-hoc.
      
      From-SVN: r191113
      Jan Hubicka committed
    • re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on… · 3ca6351d
      re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand)
      
      2012-09-09  Ulrich Drepper  <drepper@gmail.com>
      	    Dominique d'Humieres  <dominiq@lps.ens.fr>
      	    Jack Howarth  <howarth@bromo.med.uc.edu>
      
      	PR bootstrap/54419
      	* acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND.
      	* configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand
      	support in assembler.
      	* src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND.
      	(random_device::_M_init): Likewise.
      	(random_device::_M_getval): Likewise.
      	* configure: Regenerated.
      	* config.h.in: Regenerated.
      
      Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
      Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
      
      From-SVN: r191111
      Ulrich Drepper committed
    • cpuid.h: Define signature_*_e[bcd]x macros for matching results of level 0 calls to... · ef64d158
      gcc/
              * config/i386/cpuid.h: Define signature_*_e[bcd]x macros for
              matching results of level 0 calls to __cpuid to processor
              manufacturers.
              * config/i386/driver-i386.c (vendor_signatures): Removed.
              (processor_signatures): Removed.
              (host_detect_local_cpu): Replace uses of now-removed SIG_*
              constants with the new signature_*_ebx constants.
      
      libstdc++-v3/
              * src/c++11/random.cc (random_device::_M_init): Use new macro
              signature_INTEL_ebx to check for Intel processors.
      
      From-SVN: r191109
      Ulrich Drepper committed
    • Replace cgraph_node_set and varpool_node_set by symtab_node_encoder in partitioning. · 7b99cca4
      
      	Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
      	in partitioning.
      	* tree-pass.h (cgraph_node_set_def, varpool_node_set_def): Remove
      	forward declaration.
      	(lto_symtab_encoder_d): Forward declare.
      	(ipa_write_optimization_summaries): Update.
      	* lto-cgraph.c (lto_symtab_encoder_new): Do not initialize
      	body, initializer and in_partition.
      	(lto_symtab_encoder_delete): Update.
      	(lto_symtab_encoder_encode): Update.
      	(lto_symtab_encoder_lookup): Move inline.
      	(lto_symtab_encoder_delete_node): New function.
      	(lto_symtab_encoder_encode_body_p, lto_set_symtab_encoder_encode_body,
      	lto_symtab_encoder_encode_initializer_p,
      	lto_set_symtab_encoder_encode_initializer, lto_symtab_encoder_in_partition_p,
      	lto_symtab_encoder_in_partition_p): Update.
      	(compute_ltrans_boundary): Take encoder as an input.
      	* passes.c (ipa_write_summaries_1): Update.
      	(ipa_write_summaries_1): Update.
      	(ipa_write_summaries): Update.
      	(ipa_write_optimization_summaries): Update.
      	* lto-streamer.c (print_lto_report): Report number of cgraph nodes.
      	* lto-streamer.h (lto_stats_d): Replace num_output_cgraph_nodes by
      	num_output_symtab_nodes.
      	(lto_encoder_entry): New structure.
      	(struct lto_symtab_encoder_d): Reorg.
      	(lto_symtab_encoder_delete_node): Declare.
      	(lto_symtab_encoder_lookup): Bring inline.
      	(compute_ltrans_boundary): Update.
      	(lto_symtab_encoder_size): Update.
      	(lsei_node, lsei_cgraph_node, lsei_varpool_node): Update.
      	(lto_symtab_encoder_deref): Update.
      
      	Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
      	in partitioning.
      	* lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
      	by encoder.
      	* lto-partition.c (new_partition): Update.
      	* lto.c (cmp_partitions_order): Update.
      	(lto_wpa_write_files): Update.
      	(free_ltrans_partitions): Update.
      	(add_references_to_partition): Update.
      	(add_cgraph_node_to_partition_1): Update.
      	(add_cgraph_node_to_partition): Update.
      	(add_varpool_node_to_partition): Update.
      	(undo_partition): Update.
      	(lto_balanced_map): Update.
      	(set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
      	set_referenced_from_this_partition_p): Update.
      	(lto_promote_cross_file_statics): Update.
      
      From-SVN: r191107
      Jan Hubicka committed
    • decl.c (reshape_init_class): Avoid dereferencing a past-the-end pointer. · d5f8c6dc
      	* decl.c (reshape_init_class): Avoid dereferencing a
      	past-the-end pointer.
      
      From-SVN: r191106
      Mark Kettenis committed
    • Daily bump. · bc1b72c7
      From-SVN: r191105
      GCC Administrator committed
  2. 08 Sep, 2012 6 commits
  3. 07 Sep, 2012 17 commits
    • re PR fortran/54208 (compilation error for ubound construct in PARAMETER statements) · 0423b64a
      fortran/
      	PR fortran/54208
      	* simplify.c (simplify_bound_dim): Resolve array spec before
      	proceeding with simplification.
      
      testsuite/
      	PR fortran/54208
      	* gfortran.dg/bound_simplification_3.f90: New test.
      
      From-SVN: r191083
      Mikael Morin committed
    • 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
  4. 06 Sep, 2012 11 commits