Maciej W. Rozycki [Mon, 10 Sep 2012 21:09:03 +0000 (21:09 +0000)]
* config/rs6000/rs6000.md: Move a splitter next to its insn.
From-SVN: r191162
Oleg Endo [Mon, 10 Sep 2012 20:35:25 +0000 (20:35 +0000)]
re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
* config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if
dynamic shifts are available.
(SHIFT_COUNT_TRUNCATED): Always define to 0. Correct comment.
* config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments.
* config/sh/predicates.md (shift_count_operand): Allow
arith_reg_operand even if TARGET_DYNSHIFT is false.
* config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns
if needed.
(ashlsi3_d_call, lshrsi3_d_call): New insns.
PR target/54089
* config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0.
(lshrsi3): Reimplement as lshrsi3_r0.
PR target/54089
* gcc.target/sh/pr54089-3.c: New.
From-SVN: r191161
Andreas Schwab [Mon, 10 Sep 2012 20:14:47 +0000 (20:14 +0000)]
re PR target/46191 (Non-absolute names in libgcc_s.so)
PR target/46191
* config/t-slibgcc-libgcc (SHLIB_MAKE_SOLINK): Use -lgcc instead
of libgcc.a.
From-SVN: r191160
Richard Sandiford [Mon, 10 Sep 2012 19:40:43 +0000 (19:40 +0000)]
ira.c (setup_pressure_classes): Handle synonymous classes.
gcc/
* ira.c (setup_pressure_classes): Handle synonymous classes.
From-SVN: r191159
Marc Glisse [Mon, 10 Sep 2012 18:48:34 +0000 (20:48 +0200)]
tree-ssa-forwprop.c (simplify_bitfield_ref): New function.
2012-09-10 Marc Glisse <marc.glisse@inria.fr>
gcc/
* tree-ssa-forwprop.c (simplify_bitfield_ref): New function.
(ssa_forward_propagate_and_combine): Call it.
gcc/testsuite/
* gcc.dg/tree-ssa/forwprop-21.c: New testcase.
From-SVN: r191158
Steve Ellcey [Mon, 10 Sep 2012 17:28:20 +0000 (17:28 +0000)]
config.gcc: Add mips*-mti-linux* target Handle with_synci like other options.
2012-09-10 Steve Ellcey <sellcey@mips.com>
* config.gcc: Add mips*-mti-linux* target
Handle with_synci like other options.
* config/mips/gnu-user64.h (LINUX64_DRIVER_SELF_SPECS): New.
(DRIVER_SELF_SPECS): Define in terms of LINUX64_DRIVER_SELF_SPECS.
* config/mips/mips.h (MIPS_ISA_SYNCI_SPEC): New.
* config/mips/mti-linux.h: New file.
* config/mips/t-mti-linux: New file.
From-SVN: r191155
Aldy Hernandez [Mon, 10 Sep 2012 17:21:26 +0000 (17:21 +0000)]
* gcc.dg/tm/reg-promotion.c: Modify dump message check.
From-SVN: r191154
Aldy Hernandez [Mon, 10 Sep 2012 17:21:17 +0000 (17:21 +0000)]
pr52558-2.c: Delete.
testsuite/
* gcc.dg/pr52558-2.c: Delete.
* gcc.dg/simulate-thread/speculative-store-3.c: New.
From-SVN: r191153
Marc Glisse [Mon, 10 Sep 2012 16:23:02 +0000 (18:23 +0200)]
tree-ssa-forwprop.c (simplify_permutation): Handle CONSTRUCTOR.
2012-09-10 Marc Glisse <marc.glisse@inria.fr>
gcc/
* tree-ssa-forwprop.c (simplify_permutation): Handle CONSTRUCTOR.
gcc/testsuite/
* gcc.dg/tree-ssa/forwprop-20.c: New testcase.
From-SVN: r191151
Martin Jambor [Mon, 10 Sep 2012 15:58:57 +0000 (17:58 +0200)]
params.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter.
2012-09-10 Martin Jambor <mjambor@suse.cz>
* params.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter.
* ipa-prop.c: Include params.h.
(IPA_MAX_AFF_JF_ITEMS): Removed.
(determine_known_aggregate_parts): Use param value of
PARAM_IPA_MAX_AGG_ITEMS instead of IPA_MAX_AFF_JF_ITEMS.
* Makefile.in (ipa-prop.o): Add PARAMS_H dependency.
From-SVN: r191150
Richard Guenther [Mon, 10 Sep 2012 14:10:09 +0000 (14:10 +0000)]
re PR middle-end/54520 (ice in merge_latch_edges with -O3)
2012-09-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54520
* tree-ssa-threadupdate.c (def_split_header_continue_p):
Properly consider sub-loops.
* gcc.dg/torture/pr54520.c: New testcase.
From-SVN: r191141
Jason Merrill [Mon, 10 Sep 2012 14:08:32 +0000 (10:08 -0400)]
re PR c++/54506 (Defaulted move constructors and move assignment operators are erroneously defined as deleted)
PR c++/54506
* decl.c (move_signature_fn_p): Split out from move_fn_p.
* method.c (process_subob_fn): Use it.
* cp-tree.h: Declare it.
From-SVN: r191140
Jason Merrill [Mon, 10 Sep 2012 14:08:24 +0000 (10:08 -0400)]
* semantics.c (sort_constexpr_mem_initializers): Tweak.
From-SVN: r191139
Richard Henderson [Mon, 10 Sep 2012 13:08:18 +0000 (06:08 -0700)]
* config/alpha/predicates.md (small_symbolic_operand): Disallow large offsets.
From-SVN: r191138
Georg-Johann Lay [Mon, 10 Sep 2012 10:43:20 +0000 (10:43 +0000)]
re PR target/54536 ([avr]: incorrect crt with -mmcu=at90usb1287)
PR target/54536
* config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
From-SVN: r191132
Jan Hubicka [Mon, 10 Sep 2012 08:32:36 +0000 (10:32 +0200)]
lto-cgraph.c (compute_ltrans_boundary): Do not care about aliases.
* lto-cgraph.c (compute_ltrans_boundary): Do not care about aliases.
* lto-partition.c (partition_symbol_p): Forward declare.
(add_references_to_partition): Reimplement using partition_symbol_p.
(add_aliases_to_partition): Break out from add_references_to_partition;
reimplement using partition_symbol_p.
(add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
add sanity checks.
(add_varpool_node_to_partition): Use add_aliases_to_partition.
(partition_varpool_node_p): Do not special case aliases.
From-SVN: r191129
GCC Administrator [Mon, 10 Sep 2012 00:17:31 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191124
Sebastian Huber [Sun, 9 Sep 2012 23:08:48 +0000 (23:08 +0000)]
re PR libstdc++/43852 (Embedded systems friendly libstdc++)
2012-09-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/43852
* acinclude.m4 (GLIBCXX_ENABLE_VERBOSE): Define.
* configure.ac (GLIBCXX_ENABLE_VERBOSE): Use it.
* config.h.in: Regenerate.
* configure: Likewise.
* libsupc++/eh_term_handler.cc (_GLIBCXX_VERBOSE): Check new macro.
* libsupc++/pure.cc (_GLIBCXX_VERBOSE): Likewise.
* doc/xml/manual/configure.xml (--disable-libstdcxx-verbose): Document.
* doc/html/manual/configure.html: Regenerate.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r191121
Mark Kettenis [Sun, 9 Sep 2012 21:56:40 +0000 (21:56 +0000)]
* config/openbsd-stdint.h (INTMAX_TYPE, UINTMAX_TYPE): Define.
From-SVN: r191120
Jonathan Wakely [Sun, 9 Sep 2012 19:46:41 +0000 (19:46 +0000)]
re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand)
PR bootstrap/54419
* acinclude.m4 (GLIBCXX_CHECK_X86_RDRAND): Remove stray character.
* configure: Regenerated.
From-SVN: r191119
Jonathan Wakely [Sun, 9 Sep 2012 18:02:25 +0000 (19:02 +0100)]
Fix ChangeLog date.
From-SVN: r191115
Jonathan Wakely [Sun, 9 Sep 2012 17:56:51 +0000 (17:56 +0000)]
re PR libstdc++/54388 (std::array.at() const results in undefined behaviour)
PR libstdc++/54388
* include/std/array (array::at() const): Ensure lvalue result.
* testsuite/23_containers/array/element_access/54388.cc: New.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
From-SVN: r191114
Jan Hubicka [Sun, 9 Sep 2012 17:29:21 +0000 (19:29 +0200)]
passes.c (ipa_write_summaries_1): Set state; do not call compute_ltrans_boundary.
* 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
Ulrich Drepper [Sun, 9 Sep 2012 17:20:42 +0000 (17:20 +0000)]
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 [Sun, 9 Sep 2012 14:22:10 +0000 (14:22 +0000)]
cpuid.h: Define signature_*_e[bcd]x macros for matching results of level 0 calls to...
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
Jan Hubicka [Sun, 9 Sep 2012 12:31:32 +0000 (14:31 +0200)]
Replace cgraph_node_set and varpool_node_set by symtab_node_encoder in partitioning.
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
Mark Kettenis [Sun, 9 Sep 2012 10:06:13 +0000 (10:06 +0000)]
decl.c (reshape_init_class): Avoid dereferencing a past-the-end pointer.
* decl.c (reshape_init_class): Avoid dereferencing a
past-the-end pointer.
From-SVN: r191106
GCC Administrator [Sun, 9 Sep 2012 00:18:33 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r191105
John David Anglin [Sat, 8 Sep 2012 22:35:54 +0000 (22:35 +0000)]
pa.c (hppa_rtx_costs): Update costs for large integer modes.
* config/pa/pa.c (hppa_rtx_costs): Update costs for large integer modes.
From-SVN: r191102
Andi Kleen [Sat, 8 Sep 2012 19:08:37 +0000 (19:08 +0000)]
Fix broken patch
2012-09-08 Andi Kleen <ak@linux.intel.com>
* gcc/lto/lto.c (do_whole_program_analysis):
Fix last broken patch
From-SVN: r191097
Andi Kleen [Sat, 8 Sep 2012 17:26:07 +0000 (17:26 +0000)]
Add -fmem-report-wpa
For parallel LTO builds setting -fmem-report does not work very well
because all the LTRANS phases dump it in parallel and typically interleave
it to unreadability.
Since usually the memory bottleneck is WPA add a flag to only dump
the memory report for that.
gcc/:
2012-09-08 Andi Kleen <ak@linux.intel.com>
* gcc/common.opt (-fmem-report-wpa): Add
* gcc/doc/invoke.texi (-fmem-report-wpa): Document.
* gcc/lto/lto.c (do_whole_program_analysis): Run mem_report
when mem_report_wpa is set.
From-SVN: r191095
Andi Kleen [Sat, 8 Sep 2012 15:30:25 +0000 (15:30 +0000)]
Fix wrong date in ChangeLog
From-SVN: r191094
Anthony Green [Sat, 8 Sep 2012 01:14:22 +0000 (01:14 +0000)]
Optimize moxie function prologues
From-SVN: r191088
GCC Administrator [Sat, 8 Sep 2012 00:17:52 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191087
Mikael Morin [Fri, 7 Sep 2012 20:37:41 +0000 (20:37 +0000)]
re PR fortran/54208 (compilation error for ubound construct in PARAMETER statements)
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
Paolo Carlini [Fri, 7 Sep 2012 20:17:43 +0000 (20:17 +0000)]
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
Aldy Hernandez [Fri, 7 Sep 2012 16:00:07 +0000 (16:00 +0000)]
re PR testsuite/54184 (gcc.dg/pr52558-1.c failure)
PR testsuite/54184
* gcc.dg/pr52558-1.c: Delete.
* gcc.dg/simulate-thread/speculative-store-2.c: New.
From-SVN: r191079
Nick Clifton [Fri, 7 Sep 2012 14:17:34 +0000 (14:17 +0000)]
v850.h (DBX_DEBUGGING_INFO): Define.
* 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
Teresa Johnson [Fri, 7 Sep 2012 13:49:47 +0000 (13:49 +0000)]
This fixes part of the issue described in PR gcov-profile/54487 where there...
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
Eric Botcazou [Fri, 7 Sep 2012 11:55:06 +0000 (11:55 +0000)]
trans.c (Loop_Statement_to_gnu): Revert to using size_type_node instead of sizetype.
* gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
size_type_node instead of sizetype.
From-SVN: r191069
Richard Earnshaw [Fri, 7 Sep 2012 10:37:08 +0000 (10:37 +0000)]
re PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong value extension)
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 Guenther [Fri, 7 Sep 2012 10:27:02 +0000 (10:27 +0000)]
re PR middle-end/53667 (Cray pointer: Wrong result with optimizations)
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
Steven Bosscher [Fri, 7 Sep 2012 10:23:06 +0000 (10:23 +0000)]
bitmap.c (bitmap_last_set_bit): Rewrite to return the correct bit.
* 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
Eric Botcazou [Fri, 7 Sep 2012 10:04:57 +0000 (10:04 +0000)]
* gcc.dg/pr44194-1.c: Skip on Alpha and adjust regexp for SPARC64.
From-SVN: r191061
Tom de Vries [Fri, 7 Sep 2012 09:21:21 +0000 (09:21 +0000)]
re PR tree-optimization/53986 (missing vrp on bit-mask test, LSHIFT_EXPR not handled)
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 [Fri, 7 Sep 2012 09:21:11 +0000 (09:21 +0000)]
re PR tree-optimization/53986 (missing vrp on bit-mask test, LSHIFT_EXPR not handled)
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
Segher Boessenkool [Fri, 7 Sep 2012 08:06:43 +0000 (10:06 +0200)]
aix43.h (RS6000_CALL_GLUE): Delete.
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
Andi Kleen [Fri, 7 Sep 2012 05:04:15 +0000 (05:04 +0000)]
invoke.texi (-ffat-lto-objects): Clarify that gcc-ar et.al.
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 [Fri, 7 Sep 2012 02:56:17 +0000 (02:56 +0000)]
Reduce memory usage for storing LTO decl resolutions
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
GCC Administrator [Fri, 7 Sep 2012 00:18:25 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r191050
Lawrence Crowl [Fri, 7 Sep 2012 00:06:35 +0000 (00:06 +0000)]
Modify gcc/*.[hc] double_int call sites to use the new interface.
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
Cary Coutant [Thu, 6 Sep 2012 23:32:59 +0000 (23:32 +0000)]
dwarf2.def: Edit comment.
2012-09-06 Cary Coutant <ccoutant@google.com>
include/
* dwarf2.def: Edit comment.
From-SVN: r191046
Uros Bizjak [Thu, 6 Sep 2012 21:45:46 +0000 (23:45 +0200)]
configure.ac (hle prefixes): Remove .code64.
* configure.ac (hle prefixes): Remove .code64.
* configure: Regenerated.
From-SVN: r191044
Thiago Macieira [Thu, 6 Sep 2012 20:31:08 +0000 (20:31 +0000)]
re PR libstdc++/54172 (__cxa_guard_acquire thread-safety issue)
2012-09-06 Thiago Macieira <thiago.macieira@intel.com>
PR libstdc++/54172
* libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
we detect that another thread has had success. Don't compare_exchange
from a finished state back to a waiting state. Comment.
From-SVN: r191042
Diego Novillo [Thu, 6 Sep 2012 18:14:58 +0000 (14:14 -0400)]
* configure.ac: Bump minimum GMP version to 4.2.3.
From-SVN: r191037
Kyrylo Tkachov [Thu, 6 Sep 2012 17:11:18 +0000 (17:11 +0000)]
arm.c: Use CONST_INT_P...
2012-09-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.c: Use CONST_INT_P, CONST_DOUBLE_P, REG_P, MEM_P,
LABEL_P, JUMP_P, CALL_P, NOTE_P, BARRIER_P consistently.
* config/arm/arm.h: Use REG_P, MEM_P consistently.
* config/arm/arm.md: Use CONST_INT_P, REG_P, MEM_P, CONST_DOUBLE_P
consistently.
* config/arm/neon.md: Use REG_P consistently.
* config/arm/predicates.md: Use CONST_INT_P, REG_P, MEM_P
consistently.
* config/arm/thumb2.md: Use CONST_INT_P, REG_P consistently.
* config/arm/vec-common.md: Use REG_P consistently.
From-SVN: r191034
Jason Merrill [Thu, 6 Sep 2012 16:24:10 +0000 (12:24 -0400)]
re PR c++/54341 (ICE (segfault) in cx_check_missing_mem_inits, at cp/semantics.c:6093)
PR c++/54341
PR c++/54253
* semantics.c (sort_constexpr_mem_initializers): New.
(build_constexpr_constructor_member_initializers): Use it.
(cx_check_missing_mem_inits): Skip artificial fields.
* init.c (expand_aggr_init_1): Don't zero out a class
with no data.
From-SVN: r191033
Richard Guenther [Thu, 6 Sep 2012 14:47:42 +0000 (14:47 +0000)]
re PR tree-optimization/54498 (incorrect code generation from g++ -O)
2012-09-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54498
* tree-ssa-alias.h (get_continuation_for_phi): Add flag to
abort when reaching an already visited region.
* tree-ssa-alias.c (maybe_skip_until): Likewise. And do it.
(get_continuation_for_phi_1): Likewise.
(walk_non_aliased_vuses): When we translated the reference,
abort when we re-visit a region.
* tree-ssa-pre.c (translate_vuse_through_block): Adjust.
From-SVN: r191030
David Edelsohn [Thu, 6 Sep 2012 14:07:23 +0000 (14:07 +0000)]
rs6000.c (rs6000_xcoff_asm_named_section): Add TLS section.
* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Add TLS
section.
* config/rs6000/rs6000.c (rs6000_debug_address_cost): Add new
arguments to TARGET_ADDRESS_COST call.
From-SVN: r191027
Richard Guenther [Thu, 6 Sep 2012 13:42:28 +0000 (13:42 +0000)]
tree.h (MOVE_NONTEMPORAL): Remove.
2012-09-06 Richard Guenther <rguenther@suse.de>
* tree.h (MOVE_NONTEMPORAL): Remove.
* tree-pretty-print.c (dump_generic_node): Remove
MOVE_NONTEMPORAL handling.
* expr.c (expand_expr_real_1): Likewise.
From-SVN: r191022
Richard Guenther [Thu, 6 Sep 2012 09:13:08 +0000 (09:13 +0000)]
passes.c (execute_function_todo): Call compute_may_aliases only if flag_tree_pta is set.
2012-09-06 Richard Guenther <rguenther@suse.de>
* passes.c (execute_function_todo): Call compute_may_aliases
only if flag_tree_pta is set.
From-SVN: r191015
Andrew Pinski [Thu, 6 Sep 2012 08:08:09 +0000 (08:08 +0000)]
re PR tree-optimization/54494 (Missing store to volatile)
2012-09-06 Andrew Pinski <apinski@cavium.com>
PR tree-opt/54494
* tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
2012-09-06 Andrew Pinski <apinski@cavium.com>
PR tree-opt/54494
* gcc.dg/tree-ssa/strlen-1.c: New testcase.
From-SVN: r191014
Jakub Jelinek [Thu, 6 Sep 2012 07:29:12 +0000 (09:29 +0200)]
re PR rtl-optimization/54455 (ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418)
PR rtl-optimization/54455
* sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
bb ends up with asm goto referencing bb's label.
* gcc.dg/54455.c: New test.
From-SVN: r191013
Tobias Burnus [Thu, 6 Sep 2012 07:03:42 +0000 (09:03 +0200)]
2012-09-06 Tobias Burnus
PR fortran/54463
* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Fix matmul
call to BLAS if the default-kind has been promoted.
2012-09-06 Tobias Burnus
PR fortran/54463
* gfortran.dg/promotion_2.f90: New.
From-SVN: r191012
Ian Lance Taylor [Thu, 6 Sep 2012 05:28:02 +0000 (05:28 +0000)]
debug/elf, debug/dwarf: DWARF line number fixes.
Support DW_AT_high_pc as a constant.
Support DW_AT_ranges.
PR gcc/52583
From-SVN: r191008
Chen Liqin [Thu, 6 Sep 2012 03:07:53 +0000 (03:07 +0000)]
score.c: Remove TARGET_LEGITIMIZE_ADDRESS define and score_legitimize_address function...
2012-09-06 Chen Liqin <liqin.gcc@gmail.com>
* config/score/score.c: Remove TARGET_LEGITIMIZE_ADDRESS define
and score_legitimize_address function, use compiler default code instead.
From-SVN: r191004
GCC Administrator [Thu, 6 Sep 2012 00:17:59 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191002
Jan Hubicka [Wed, 5 Sep 2012 22:32:36 +0000 (00:32 +0200)]
ipa-inline.c (want_inline_small_function_p): Use INLINE_HINT_loop_iterations hint.
* ipa-inline.c (want_inline_small_function_p): Use INLINE_HINT_loop_iterations
hint.
From-SVN: r190999
Uros Bizjak [Wed, 5 Sep 2012 21:43:45 +0000 (23:43 +0200)]
fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v.
* config/fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v.
From-SVN: r190997
Andrew Pinski [Wed, 5 Sep 2012 20:23:22 +0000 (20:23 +0000)]
optabs.c (emit_conditional_add): Correct comment about the arguments.
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
Uros Bizjak [Wed, 5 Sep 2012 19:55:02 +0000 (21:55 +0200)]
* ChangeLog: Fix date of my last commit.
From-SVN: r190993
Uros Bizjak [Wed, 5 Sep 2012 19:49:21 +0000 (21:49 +0200)]
fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and __builtin_ia32_ldmxcsr intrinsics.
* config/fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and
__builtin_ia32_ldmxcsr intrinsics.
From-SVN: r190992
François Dumont [Wed, 5 Sep 2012 19:41:16 +0000 (19:41 +0000)]
re PR libstdc++/54296 (using the object in the map to erase element from the map crashes)
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
Oleg Endo [Wed, 5 Sep 2012 17:31:17 +0000 (17:31 +0000)]
hooks.c (hook_int_rtx_mode_as_bool_0): New function.
* 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
Tobias Burnus [Wed, 5 Sep 2012 16:40:48 +0000 (18:40 +0200)]
re PR fortran/54462 (Another "segmentation fault" after an error in COMMON statement after r190853)
2012-09-05 Tobias Burnus <burnus@net-b.de>
PR fortran/54462
* symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.
From-SVN: r190989
Diego Novillo [Wed, 5 Sep 2012 16:34:42 +0000 (12:34 -0400)]
re PR bootstrap/54484 (r190927 breaks bootstrap with clang compiler)
PR bootstrap/54484
* vec.h (vec_t::lower_bound): Fix spelling of LESSTHAN
argument.
From-SVN: r190988
Jakub Jelinek [Wed, 5 Sep 2012 16:27:55 +0000 (18:27 +0200)]
re PR middle-end/54486 (Spurious printf format warning mentions nonexistent type 'sizetype')
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
Uros Bizjak [Wed, 5 Sep 2012 15:20:01 +0000 (17:20 +0200)]
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
Ulrich Drepper [Wed, 5 Sep 2012 13:54:57 +0000 (13:54 +0000)]
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
Eric Botcazou [Wed, 5 Sep 2012 13:37:12 +0000 (13:37 +0000)]
bb-reorder.c: Clarify a few points in the head comment and fix long lines in other comments.
* 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
Richard Guenther [Wed, 5 Sep 2012 13:29:13 +0000 (13:29 +0000)]
re PR tree-optimization/46590 (long compile time with -O2 and many loops)
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
Dominique d'Humieres [Wed, 5 Sep 2012 13:26:58 +0000 (13:26 +0000)]
re PR fortran/54474 (gfortran.dg/coarray_poly_3.f90)
2012-09-05 Dominique Dhumieres <dominiq@lps.ens.fr>
PR fortran/54474
* gfortran.dg/coarray_poly_3.f90: Adjust error messages.
From-SVN: r190977
Ulrich Drepper [Wed, 5 Sep 2012 12:41:17 +0000 (12:41 +0000)]
* include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
(operator()): Use __generate() function of _M_nd.
From-SVN: r190975
Paolo Carlini [Wed, 5 Sep 2012 10:14:37 +0000 (10:14 +0000)]
re PR c++/54191 ([C++11] SFINAE does not handle conversion to inaccessible base)
/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
Georg-Johann Lay [Wed, 5 Sep 2012 08:47:50 +0000 (08:47 +0000)]
re PR target/54461 ([avr] add configure option for better AVR-Libc integration)
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
Bin Cheng [Wed, 5 Sep 2012 07:44:25 +0000 (07:44 +0000)]
Add missed ChangeLog entry for r190919.
From-SVN: r190965
Jason Merrill [Wed, 5 Sep 2012 04:17:12 +0000 (00:17 -0400)]
re PR c++/54441 (Infinite loop with brace initializer on zero-length array)
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 [Wed, 5 Sep 2012 04:16:58 +0000 (00:16 -0400)]
re PR c++/54420 (Segmentation fault in decl_mangling_context)
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
Ulrich Drepper [Wed, 5 Sep 2012 04:06:24 +0000 (04:06 +0000)]
random: Add __gnu_cxx:normal_mv_distribution<> class.
* 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
GCC Administrator [Wed, 5 Sep 2012 00:18:19 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190957
Ulrich Drepper [Tue, 4 Sep 2012 22:57:09 +0000 (22:57 +0000)]
random: Add __gnu_cxx::beta_distribution<> class.
* 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
Teresa Johnson [Tue, 4 Sep 2012 21:20:30 +0000 (21:20 +0000)]
Adding change log entries for r190952:
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 [Tue, 4 Sep 2012 21:16:18 +0000 (21:16 +0000)]
Enhances the gcov program summary by adding a histogram of arc counter entries.
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
Diego Novillo [Tue, 4 Sep 2012 21:07:48 +0000 (17:07 -0400)]
Fix bootstrap failure with clang++.
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
Jason Merrill [Tue, 4 Sep 2012 19:35:02 +0000 (15:35 -0400)]
re PR c++/54198 ("error: invalid use of incomplete type" when building Chromium)
PR c++/54198
* decl.c (check_default_argument): Set cp_unevaluated_operand
around call to perform_implicit_conversion_flags.
From-SVN: r190949
Eric Botcazou [Tue, 4 Sep 2012 19:11:37 +0000 (19:11 +0000)]
bb-reorder.c (gate_handle_reorder_blocks): Move around.
* 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 [Tue, 4 Sep 2012 19:05:38 +0000 (19:05 +0000)]
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
Jason Merrill [Tue, 4 Sep 2012 18:49:51 +0000 (14:49 -0400)]
re PR c++/54437 (Revision 190664 causes Firefox build failure)
PR c++/54437
PR c++/51213
* pt.c (fn_type_unification): Call coerce_template_parms before
entering substitution context.
From-SVN: r190946
Jason Merrill [Tue, 4 Sep 2012 18:49:41 +0000 (14:49 -0400)]
* configure.ac: Fix --enable-languages=all.
From-SVN: r190945
Diego Novillo [Tue, 4 Sep 2012 18:33:29 +0000 (14:33 -0400)]
This patch works around a parsing problem with g++ 4.3.
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