gcc.git
11 years agoconfigure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
Jakub Jelinek [Thu, 13 Sep 2012 16:30:17 +0000 (18:30 +0200)]
configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.

* configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
* configure: Regenerated.

From-SVN: r191267

11 years agore PR c++/53839 ([C++11] internal compiler error: in adjust_temp_type, at cp/semantic...
Jason Merrill [Thu, 13 Sep 2012 15:14:08 +0000 (11:14 -0400)]
re PR c++/53839 ([C++11] internal compiler error: in adjust_temp_type, at cp/semantics.c:6391)

PR c++/53839
* semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
address, make sure the value is constant.

From-SVN: r191263

11 years agore PR c++/54511 (internal compiler error: in make_decl_rtl, at varasm.c:1147)
Jason Merrill [Thu, 13 Sep 2012 15:13:45 +0000 (11:13 -0400)]
re PR c++/54511 (internal compiler error: in make_decl_rtl, at varasm.c:1147)

PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.

From-SVN: r191262

11 years agore PR c++/53836 (ICE: unexpected expression of kind template_parm_index)
Jason Merrill [Thu, 13 Sep 2012 15:13:24 +0000 (11:13 -0400)]
re PR c++/53836 (ICE: unexpected expression of kind template_parm_index)

PR c++/53836
* pt.c (value_dependent_expression_p): A TREE_LIST initializer must
be dependent.

From-SVN: r191261

11 years agore PR fortran/54556 (Marking implicitly pure variables as DECL_PURE_P leads to wrong...
Tobias Burnus [Thu, 13 Sep 2012 14:57:38 +0000 (16:57 +0200)]
re PR fortran/54556 (Marking implicitly pure variables as DECL_PURE_P leads to wrong code)

2012-09-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54556
        * resolve.c (resolve_formal_arglist): Allow VALUE arguments
        with implicit_pure.
        (gfc_impure_variable): Don't check gfc_pure such that the
        function also works for gfc_implicit_pure procedures.

2012-09-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54556
        * gfortran.dg/implicit_pure_3.f90: New.

From-SVN: r191259

11 years agoi386.md (prefetch): Do not assert mode of operand 0.
Uros Bizjak [Thu, 13 Sep 2012 13:49:39 +0000 (15:49 +0200)]
i386.md (prefetch): Do not assert mode of operand 0.

* config/i386/i386.md (prefetch): Do not assert mode of operand 0.
(*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
Rename to ...
(*prefetch_sse): ... this.
(*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
Rename to ...
(*prefetch_3dnow): ... this.

From-SVN: r191256

11 years agoipa-pure-const.c (state_from_flags, [...]): Use current_function_name instead of...
Steven Bosscher [Thu, 13 Sep 2012 13:41:46 +0000 (13:41 +0000)]
ipa-pure-const.c (state_from_flags, [...]): Use current_function_name instead of lang_hooks.decl_printable_name.

* ipa-pure-const.c (state_from_flags, local_pure_const): Use
current_function_name instead of lang_hooks.decl_printable_name.

* function.h (fndecl_name): New prototype.
* function.c (fndecl_name): New function.
* vecir.h (cgraph_node_p): New standard IR VEC type.
* trans-mem.c (cgraph_node_p): No need anymore to define it here.
* ipa-utils.h (ipa_get_nodes_in_cycle): New prototype.
* ipa-utils.c (ipa_get_nodes_in_cycle): New function.
* ipa-reference.c: Don't include langhooks.h, and certainly not twice.
Fix many formatting issues (long lines, short lines, spacing, etc.).
(get_static_name): Use fndecl_name.
(dump_static_vars_set_to_file): New function split out from propagate.
(union_static_var_sets): New function, union two sets and collapse
to all_module_statics as quickly as possible.
(intersect_static_var_sets): New function, similar to above.
(copy_static_var_set): Renamed from copy_global_bitmap and rewritten
to allocate a copy on the same bitmap_obstack as the source set.
(propagate_bits): Simplify, and clarify by using union_static_var_sets.
(generate_summary): Remove bm_temp.  Print UID of promotable globals.
(read_write_all_from_decl): Use pass-by-reference, bless C++.
(get_read_write_all_from_node): New function, split out from propagate.
(propagate): Simplify and clarify with helper functions.  Use
ipa_get_nodes_in_cycle to walk all nodes in a reduced node.
(ipa_reference_read_optimization_summary): Use fndecl_name instead of
lang_hooks.decl_printable_name.

* rtl.h (print_rtl_single_with_indent): New prototype.
* print-rtl.c (print_rtl_single_with_indent): New function.
* cfghooks.h (empty_block_p, split_block_before_cond_jump): New hooks.
* cfghooks.c (empty_block_p, split_block_before_cond_jump): Implement.
* cfgrtl.c (rtl_block_empty_p, rtl_split_block_before_cond_jump):
Implement RTL specific hooks.
(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Register the new hooks.
* tree-cfg.c (gimple_empty_block_p,
gimple_split_block_before_cond_jump): Implement GIMPLE specific hooks.
(gimple_cfg_hooks): Register the new hooks.
* tree-ssa-phiopt.c (empty_block_p): Remove in favor of new hook.

From-SVN: r191255

11 years agotree-ssa-sccvn.h (enum vn_kind): New.
Richard Guenther [Thu, 13 Sep 2012 12:43:58 +0000 (12:43 +0000)]
tree-ssa-sccvn.h (enum vn_kind): New.

2012-09-13  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.h (enum vn_kind): New.
(vn_get_stmt_kind): Likewise.
* tree-ssa-sccvn.c (vn_get_stmt_kind): New function, adjust
ADDR_EXPR handling.
(visit_use): Use it.
* tree-ssa-pre.c (compute_avail): Likewise, simplify further.

* gcc.dg/tree-ssa/ssa-fre-37.c: New testcase.

From-SVN: r191253

11 years ago* config/i386/i386.c (processor_alias_table): Fix whitespace.
Uros Bizjak [Thu, 13 Sep 2012 11:45:35 +0000 (13:45 +0200)]
* config/i386/i386.c (processor_alias_table): Fix whitespace.

From-SVN: r191248

11 years agoEnable PTA_PRFCHW for AMD bdver1, bdver2, btver1 and btver2 cores
Venkataramanan Kumar [Thu, 13 Sep 2012 09:46:28 +0000 (09:46 +0000)]
Enable PTA_PRFCHW for AMD bdver1, bdver2, btver1 and btver2 cores

From-SVN: r191245

11 years agoarm.md (arm_rev): Factorize thumb1, thumb2 and arm variants for rev instruction..
Christophe Lyon [Thu, 13 Sep 2012 08:55:30 +0000 (08:55 +0000)]
arm.md (arm_rev): Factorize thumb1, thumb2 and arm variants for rev instruction..

2012-09-13  Christophe Lyon  <christophe.lyon@linaro.org>
    Richard Earnshaw  <rearnsha@arm.com>

gcc/
* config/arm/arm.md (arm_rev): Factorize thumb1, thumb2 and arm
variants for rev instruction..
(thumb1_rev): Delete pattern.
(arm_revsh): New pattern to support builtin_bswap16.
(arm_rev16, bswaphi2): Likewise.

gcc/testsuite/
* gcc.target/arm/builtin-bswap-1.c: New testcase.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r191243

11 years agoFor Kyryll
Kyrylo Tkachov [Thu, 13 Sep 2012 08:20:22 +0000 (08:20 +0000)]
For Kyryll

2012-09-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* c-c++-common/pr51712.c: Handle for short-enum targets.

From-SVN: r191241

11 years agocombine-movs.c: Check movs for ARM mode and lsrs for Thumb2 mode.
Terry Guo [Thu, 13 Sep 2012 05:36:19 +0000 (05:36 +0000)]
combine-movs.c: Check movs for ARM mode and lsrs for Thumb2 mode.

2012-09-12  Terry Guo  <terry.guo@arm.com>

        * gcc.target/arm/combine-movs.c: Check movs for ARM mode
        and lsrs for Thumb2 mode.

From-SVN: r191239

11 years agoThis fixes PR gcov-profile/54487 where the gcda files were not locked by the profile...
Teresa Johnson [Thu, 13 Sep 2012 04:59:14 +0000 (04:59 +0000)]
This fixes PR gcov-profile/54487 where the gcda files were not locked by the profile-use read...

This fixes PR gcov-profile/54487 where the gcda files were not locked
by the profile-use read, enabling writes by other instrumented compiles
to change the profile in the middle of the profile use read. The GCOV_LOCKED
macro was not set because it was guarded by HOST_HAS_F_SETLKW, which was
never set. The fix is to add a compile test in the configure to set it.

2012-09-12  Teresa Johnson  <tejohnson@google.com>

PR gcov-profile/54487
* configure.ac (HOST_HAS_F_SETLKW): Set based on compile
test using F_SETLKW with fcntl.
* configure, config.in: Regenerate.

From-SVN: r191238

11 years agoDaily bump.
GCC Administrator [Thu, 13 Sep 2012 00:17:42 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r191237

11 years agore PR fortran/48636 (Enable more inlining with -O2 and higher)
Jan Hubicka [Wed, 12 Sep 2012 21:51:14 +0000 (23:51 +0200)]
re PR fortran/48636 (Enable more inlining with -O2 and higher)

PR fortran/48636
* gcc.dg/ipa/inlinehint-2.c: New testcase.
* ipa-inline-analysis.c (dump_inline_hints): Dump loop stride.
(set_hint_predicate): New function.
(reset_inline_summary): Reset loop stride.
(remap_predicate_after_duplication): New function.
(remap_hint_predicate_after_duplication): New function.
(inline_node_duplication_hook): Update.
(dump_inline_summary): Dump stride summaries.
(estimate_function_body_sizes): Compute strides.
(remap_hint_predicate): New function.
(inline_merge_summary): Use it.
(inline_read_section): Read stride.
(inline_write_summary): Write stride.
* ipa-inline.c (want_inline_small_function_p): Handle strides.
(edge_badness): Likewise.
* ipa-inline.h (inline_hints_vals): Add stride hint.
(inline_summary): Update stride.

From-SVN: r191232

11 years agoi386.c (x86_prefetch_sse): Change to unsigned char.
Uros Bizjak [Wed, 12 Sep 2012 19:25:13 +0000 (21:25 +0200)]
i386.c (x86_prefetch_sse): Change to unsigned char.

* config/i386/i386.c (x86_prefetch_sse): Change to unsigned char.
* config/i386/i386.h (x86_prefetch_sse): Ditto.

From-SVN: r191231

11 years agoAllow negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF
H.J. Lu [Wed, 12 Sep 2012 18:08:59 +0000 (18:08 +0000)]
Allow negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF

gcc/

PR target/54445
* config/i386/predicates.md (x86_64_immediate_operand): Allow
negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF.

gcc/testsuite/

PR target/54445
* gcc.target/i386/pr54445-1.c: New file.
* gcc.target/i386/pr54445-2.c: Likewise.

From-SVN: r191230

11 years agocommon.opt (flto-partition): Add "max".
Jan Hubicka [Wed, 12 Sep 2012 17:55:13 +0000 (19:55 +0200)]
common.opt (flto-partition): Add "max".

* common.opt (flto-partition): Add "max".
* invoke.texi (flto-partition): Document "max"

* lto.c (do_whole_program_analysis): Care timevars, statistics and
AUX pointer cleaning. Add max partitioning.
* lto-partition.c (enum symbol_class): New.
(get_symbol_class): New function.
(symbol_partitioned_p): New function.
(add_references_to_partition): Remove.
(add_aliases_to_partition): Remove.
(add_cgraph_node_to_partition_1): Remove.
(add_cgraph_node_to_partition): Remove.
(add_symbol_to_partition): New function.
(add_symbol_to_partition_1): New function.
(contained_in_symbol): New function.
(partition_cgraph_node_p): Remove.
(partition_varpool_node_p): Remove.
(partition_symbol_p): Remove.
(lto_1_to_1_map): Cleanup.
(lto_max_map): New.
(lto_balanced_map): Update.
(lto_promote_cross_file_statics): Update.
* lto-partition.h (lto_max_map): Declare.
* timevar.def (TV_WHOPR_PARTITIONING): New timevar.

From-SVN: r191229

11 years agore PR lto/54312 (uniquify_nodes takes 12% of Mozilla LTO build)
Jan Hubicka [Wed, 12 Sep 2012 16:26:19 +0000 (18:26 +0200)]
re PR lto/54312 (uniquify_nodes takes 12% of Mozilla LTO build)

PR lto/54312
* lto.c (uniquify_nodes): Remove quadratic loop checking if the
type is variant leader.

From-SVN: r191228

11 years agoi386.md: Comments on fma4 instruction selection reflect requirement on register press...
Uros Bizjak [Wed, 12 Sep 2012 15:23:01 +0000 (17:23 +0200)]
i386.md: Comments on fma4 instruction selection reflect requirement on register pressure...

2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>

* config/i386/i386.md : Comments on fma4 instruction
selection reflect requirement on register pressure based
cost model.

* config/i386/driver-i386.c (host_detect_local_cpu): fma4
flag is set-reset as informed by the cpuid flag.

* config/i386/i386.c (processor_alias_table): fma4
flag is enabled for bdver2.

From-SVN: r191226

11 years agore PR tree-optimization/54489 (tree FRE uses an excessive amount of memory)
Richard Guenther [Wed, 12 Sep 2012 14:46:22 +0000 (14:46 +0000)]
re PR tree-optimization/54489 (tree FRE uses an excessive amount of memory)

2012-09-12  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54489
* tree-ssa-pre.c: Include domwalk.h.
(in_fre): Remove.
(sccvn_valnum_from_value_id): New function.
(debug_bitmap_sets_for): Simplify.
(get_representative_for): Properly initialize the SCCVN valnum.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Likewise.
(can_PRE_operation): Remove.
(make_values_for_phi): Simplify.
(compute_avail): Likewise.
(do_SCCVN_insertion): Remove.
(eliminate_avail, eliminate_push_avail, eliminate_insert):
New functions.
(eliminate): Split and perform a domwalk.
(eliminate_bb): Former eliminate part that is now dom-enter.
(eliminate_leave_block): New function.
(fini_eliminate): Likewise.
(init_pre): Simplify.
(fini_pre): Likewise.
(execute_pre): Fold into do_pre and do_fre.
(do_pre): Consume execute_pre.
(do_fre): Likewise.
* Makefile.in (tree-ssa-pre.o): Add domwalk.h dependency.

From-SVN: r191225

11 years agovec.h: Remove compatibility notes for previous distinction between vectors of objects...
Diego Novillo [Wed, 12 Sep 2012 13:51:52 +0000 (09:51 -0400)]
vec.h: Remove compatibility notes for previous distinction between vectors of objects...

2012-09-12  Diego Novillo  <dnovillo@google.com>

* vec.h: Remove compatibility notes for previous distinction
between vectors of objects and vectors of pointers.

From-SVN: r191223

11 years agofix date
Christian Bruel [Wed, 12 Sep 2012 13:08:29 +0000 (15:08 +0200)]
fix date

From-SVN: r191220

11 years agonewlib.h (NO_IMPLICIT_EXTERN_C): Define.
Christian Bruel [Wed, 12 Sep 2012 13:05:25 +0000 (15:05 +0200)]
newlib.h (NO_IMPLICIT_EXTERN_C): Define.

* config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.

From-SVN: r191219

11 years agoClear hardware capabilities on libstdc++.so with Sun as
Rainer Orth [Wed, 12 Sep 2012 12:38:15 +0000 (12:38 +0000)]
Clear hardware capabilities on libstdc++.so with Sun as

* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
* configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
* fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
* configure: Regenerate.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* src/c++11/Makefile.in: Regenerate.
* src/c++98/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

From-SVN: r191218

11 years agoFix Solaris 9/x86 bootstrap
Rainer Orth [Wed, 12 Sep 2012 12:34:21 +0000 (12:34 +0000)]
Fix Solaris 9/x86 bootstrap

* rtl.h (FFS, FLOAT, ABS, PC): Don't undef.
* system.h (FFS, FLOAT, ABS, PC): Undef.

From-SVN: r191217

11 years agore PR middle-end/54553 (atribute optimize on function affects optimization for other...
Richard Guenther [Wed, 12 Sep 2012 10:33:47 +0000 (10:33 +0000)]
re PR middle-end/54553 (atribute optimize on function affects optimization for other functions)

2012-09-12  Richard Guenther  <rguenther@suse.de>

PR middle-end/54553
* common.opt (finline): Mark with Optimization.

From-SVN: r191215

11 years agore PR fortran/54225 (fortran compiler segfault processing ' print *, A(1,*) ')
Tobias Burnus [Wed, 12 Sep 2012 10:05:19 +0000 (12:05 +0200)]
re PR fortran/54225 (fortran compiler segfault processing ' print *, A(1,*) ')

2012-09-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54225
        PR fortran/53306
        * array.c (match_subscript, gfc_match_array_ref): Fix
        diagnostic of coarray's '*'.

2012-09-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54225
        PR fortran/53306
        * gfortran.dg/coarray_10.f90: Update dg-error.
        * gfortran.dg/coarray_28.f90: New.
        * gfortran.dg/array_section_3.f90: New.

From-SVN: r191213

11 years ago* config.gcc: Obsolete picochip-*.
Jakub Jelinek [Wed, 12 Sep 2012 09:01:02 +0000 (11:01 +0200)]
* config.gcc: Obsolete picochip-*.

From-SVN: r191210

11 years agommix.h (MMIX_REG_OK_STRICT): Delete.
Nathan Froyd [Wed, 12 Sep 2012 01:52:36 +0000 (01:52 +0000)]
mmix.h (MMIX_REG_OK_STRICT): Delete.

* config/mmix/mmix.h (MMIX_REG_OK_STRICT): Delete.
(REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P): Delete.
(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
* config/mmix/mmix-protos.h (mmix_intval): Declare.
(mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
(mmix_const_double_ok_for_letter_p): Delete.
* config/mmix/constraints.md: New file.
* config/mmix/mmix.md: Include it.
(iordi3): Fix typo; use "I" instead of undefined "H" constraint.
("*call_real"): Update comment about not using the "p" constraint.
* config/mmix/predicates.md (mmix_reg_or_8bit_operand): Use
satisfies_constraint_I.
(mmix_address_operand): New predicate.
(mmix_symbolic_or_address_operand): Use it instead of address_operand.
* config/mmix/mmix.c: #include tm-constrs.h.
(mmix_intval): Delete declaration.  Make non-static.
(mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
(mmix_const_double_ok_for_letter_p): Delete.
(mmix_legitimate_address_p): Use satisfies_constraint_I.
(mmix_print_operand_address): Likewise.
(mmix_emit_sp_add): Adjust to use insn_const_int_ok_for_constraint
when matching "L" constraint.

Co-Authored-By: Hans-Peter Nilsson <hp@bitrange.com>
From-SVN: r191208

11 years agoDaily bump.
GCC Administrator [Wed, 12 Sep 2012 00:18:16 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r191206

11 years agotree.h (expand_case): Move prototype ...
Steven Bosscher [Tue, 11 Sep 2012 22:39:34 +0000 (22:39 +0000)]
tree.h (expand_case): Move prototype ...

* tree.h (expand_case): Move prototype ...
* expr.h (expand_case): ...here.
(expand_sjlj_dispatch_table): New prototype.
* stmt.c: Include pointer-set.h instead of bitmap.h.
(expand_case): Use a pointer set instead of a bitmap for
already-seen labels.  Fold label values here.
(add_case_node): Don't fold label values here.
(expand_sjlj_dispatch_table): New function.
* except.c (sjlj_emit_dispatch_table): Use it.

From-SVN: r191203

11 years agoAdd missing entry for r191165
Diego Novillo [Tue, 11 Sep 2012 20:12:12 +0000 (20:12 +0000)]
Add missing entry for r191165

From-SVN: r191201

11 years agoneon-vset_lanes8.c, [...]: Fix for big-endian support.
Christophe Lyon [Tue, 11 Sep 2012 19:52:18 +0000 (19:52 +0000)]
neon-vset_lanes8.c, [...]: Fix for big-endian support.

2012-09-11  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/testsuite/
* gcc.target/arm/neon-vset_lanes8.c, gcc.target/arm/pr51835.c,
gcc.target/arm/pr48252.c: Fix for big-endian support.

From-SVN: r191200

11 years agotree-ssa-forwprop.c (simplify_vector_constructor): New function.
Marc Glisse [Tue, 11 Sep 2012 16:51:15 +0000 (18:51 +0200)]
tree-ssa-forwprop.c (simplify_vector_constructor): New function.

2012-09-11  Marc Glisse  <marc.glisse@inria.fr>

gcc/
        * tree-ssa-forwprop.c (simplify_vector_constructor): New function.
        (ssa_forward_propagate_and_combine): Call it.

gcc/testsuite/
        * gcc.dg/tree-ssa/forwprop-22.c: New testcase.

From-SVN: r191198

11 years agovar-tracking.c (vt_add_function_parameter): Adjust for VEC changes.
Diego Novillo [Tue, 11 Sep 2012 16:17:50 +0000 (12:17 -0400)]
var-tracking.c (vt_add_function_parameter): Adjust for VEC changes.

2012-09-11  Diego Novillo  <dnovillo@google.com>

* var-tracking.c (vt_add_function_parameter): Adjust for VEC
changes.

From-SVN: r191197

11 years agodarwin.c (darwin_asm_named_section): Adjust for VEC changes.
Dominique d'Humieres [Tue, 11 Sep 2012 15:33:51 +0000 (11:33 -0400)]
darwin.c (darwin_asm_named_section): Adjust for VEC changes.

2012-09-11  Dominique Dhumieres  <dominiq@lps.ens.fr>

* config/darwin.c (darwin_asm_named_section): Adjust for
VEC changes.
(darwin_asm_dwarf_section): Likewise.

From-SVN: r191192

11 years agore PR libstdc++/54172 (__cxa_guard_acquire thread-safety issue)
Jakub Jelinek [Tue, 11 Sep 2012 15:22:54 +0000 (17:22 +0200)]
re PR libstdc++/54172 (__cxa_guard_acquire thread-safety issue)

PR libstdc++/54172
* libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
argument of the first __atomic_compare_exchange_n.

From-SVN: r191190

11 years agodwarf2out.c (dwarf2out_abstract_function): Do not change cfun.
Martin Jambor [Tue, 11 Sep 2012 14:35:08 +0000 (16:35 +0200)]
dwarf2out.c (dwarf2out_abstract_function): Do not change cfun.

2012-09-11  Martin Jambor  <mjambor@suse.cz>

* dwarf2out.c (dwarf2out_abstract_function): Do not change cfun.
(premark_used_types): New parameter fun, use it instead of cfun.
(gen_subprogram_die): Use DECL_STRUCT_FUNCTION (decl) instead of cfun,
also pass it to premark_used_types.

From-SVN: r191186

11 years agolto.c (enum gtc_mode): Remove.
Richard Guenther [Tue, 11 Sep 2012 13:39:11 +0000 (13:39 +0000)]
lto.c (enum gtc_mode): Remove.

2012-09-11  Richard Guenther  <rguenther@suse.de>

* lto.c (enum gtc_mode): Remove.
(struct type_pair_d): Adjust.
(lookup_type_pair): Likewise.
(gimple_type_leader): Do not mark as deletable.
(gimple_lookup_type_leader): Adjust.
(gtc_visit): Likewise.
(gimple_types_compatible_p_1): Likewise.
(gimple_types_compatible_p): Likewise.
(gimple_type_hash): Likewise.
(gimple_register_type): Likewise.
(read_cgraph_and_symbols): Manage lifetime of tables
here.

From-SVN: r191184

11 years agoFix typo in documentation from last commit.
Ramana Radhakrishnan [Tue, 11 Sep 2012 13:34:35 +0000 (13:34 +0000)]
Fix typo in documentation from last commit.

Co-Authored-By: Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
From-SVN: r191182

11 years agosourcebuild.texi (arm_neon_v2_ok): Fix @anchor.
Tobias Burnus [Tue, 11 Sep 2012 13:15:24 +0000 (15:15 +0200)]
sourcebuild.texi (arm_neon_v2_ok): Fix @anchor.

2012-09-11  Tobias Burnus  <burnus@net-b.de>

        * doc/sourcebuild.texi (arm_neon_v2_ok): Fix @anchor.

From-SVN: r191181

11 years agoAdd support for vectorized fma.
Ramana Radhakrishnan [Tue, 11 Sep 2012 12:53:00 +0000 (12:53 +0000)]
Add support for vectorized fma.

2012-09-11  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

* config/arm/neon.md (fma<VCVTF:mode>4): New pattern.
(*fmsub<VCVTF:mode>4): Likewise.
* doc/sourcebuild.texi (arm_neon_v2_ok, arm_neon_v2_hw):  Document it.

2012-09-11  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

* gcc.target/arm/neon-vfma-1.c: New testcase.
* gcc.target/arm/neon-vfms-1.c: Likewise.
* gcc.target/arm/neon-vmla-1.c: Update test to use int instead
of float.
* gcc.target/arm/neon-vmls-1.c: Likewise.
* lib/target-supports.exp (add_options_for_arm_neonv2): New
function.
(check_effective_target_arm_neonv2_ok_nocache): Likewise.
(check_effective_target_arm_neonv2_ok): Likewise.
(check_effective_target_arm_neonv2_hw): Likewise.
(check_effective_target_arm_neonv2): Likewise.

Co-Authored-By: Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
From-SVN: r191180

11 years agore PR middle-end/54149 (write introduction incorrect wrt the C11 memory model)
Aldy Hernandez [Tue, 11 Sep 2012 12:28:02 +0000 (12:28 +0000)]
re PR middle-end/54149 (write introduction incorrect wrt the C11 memory model)

        PR middle-end/54149
        * tree-ssa-loop-im.c (execute_sm_if_changed_flag_set): Only set
        flag for writes.

From-SVN: r191179

11 years agore PR middle-end/55492 (__atomic_load doesn't match ACQUIRE memory model)
Bill Schmidt [Tue, 11 Sep 2012 12:23:25 +0000 (12:23 +0000)]
re PR middle-end/55492 (__atomic_load doesn't match ACQUIRE memory model)

2012-09-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/55492
* doc/invoke.texi (max-slsr-cand-scan): New description.
* gimple-ssa-strength-reduction.c (find_basis_for_candidate): Limit
the time spent searching for a basis.
* params.def (PARAM_MAX_SLSR_CANDIDATE_SCAN): New param.

From-SVN: r191178

11 years agogimple.h (gimple_register_type): Remove.
Richard Guenther [Tue, 11 Sep 2012 11:39:27 +0000 (11:39 +0000)]
gimple.h (gimple_register_type): Remove.

2012-09-11  Richard Guenther  <rguenther@suse.de>

* gimple.h (gimple_register_type): Remove.
(print_gimple_types_stats): Adjust prototype.
* lto-streamer.h (print_lto_report): Likewise.
* lto-streamer.c (print_lto_report): Adjust.
* gimple.c (gimple_types, type_hash_cache, enum gtc_mode,
struct type_pair_d, lookup_type_pair, struct sccs,
next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type_1, gimple_register_type):
Move to lto/lto.c.
(print_gimple_types_stats): Adjust.
(free_gimple_type_tables): Likewise.

lto/
* lto.c (gimple_types, type_hash_cache, enum gtc_mode,
struct type_pair_d, lookup_type_pair, struct sccs,
next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type_1, gimple_register_type):
Move here from gimple.c
(read_cgraph_and_symbols): Free hash tables here.
(print_lto_report_1): New function wrapping print_lto_report.
(do_whole_program_analysis): Call it.
(lto_main): Likewise.

From-SVN: r191177

11 years agographite-scop-detection.c (move_sd_regions): Adjust for VEC changes.
Richard Guenther [Tue, 11 Sep 2012 09:35:18 +0000 (09:35 +0000)]
graphite-scop-detection.c (move_sd_regions): Adjust for VEC changes.

2012-09-11  Richard Guenther  <rguenther@suse.de>

* graphite-scop-detection.c (move_sd_regions): Adjust for VEC
changes.
(scopdet_basic_block_info): Likewise.
(build_scops_1): Likewise.
(limit_scops): Likewise.

From-SVN: r191175

11 years agore PR middle-end/54515 (cc1plus sigsegv -O2 anonymous namespace)
Richard Guenther [Tue, 11 Sep 2012 08:32:29 +0000 (08:32 +0000)]
re PR middle-end/54515 (cc1plus sigsegv -O2 anonymous namespace)

2012-09-11  Richard Guenther  <rguenther@suse.de>

PR middle-end/54515
* gimple.c (get_base_address): Do not return NULL_TREE apart
from for WITH_SIZE_EXPR.
* gimple-fold.c (canonicalize_constructor_val): Do not call
get_base_address when not necessary.

* g++.dg/tree-ssa/pr54515.C: New testcase.

From-SVN: r191174

11 years agore PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)
Andrew Pinski [Tue, 11 Sep 2012 04:21:30 +0000 (21:21 -0700)]
re PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)

2012-09-10  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/54362
* trans-mem.c (thread_private_new_memory): Handle COND_EXPR also.

2012-09-10  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/c54362
* gcc.dg/tm/memopt-16.c: New testcase.

From-SVN: r191173

11 years agore PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)
Andrew Pinski [Tue, 11 Sep 2012 04:21:00 +0000 (04:21 +0000)]
re PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)

2012-09-10  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/54362
* trans-mem.c (thread_private_new_memory): Handle COND_EXPR also.

2012-09-10  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/c54362
* gcc.dg/tm/memopt-16.c: New testcase.

From-SVN: r191172

11 years agom68k.c (m68k_sched_dfa_post_advance_cycle): Support starting scheduling from a pre...
Maxim Kuvyrkov [Tue, 11 Sep 2012 01:32:45 +0000 (01:32 +0000)]
m68k.c (m68k_sched_dfa_post_advance_cycle): Support starting scheduling from a pre-existing state.

* config/m68k/m68k.c (m68k_sched_dfa_post_advance_cycle): Support
starting scheduling from a pre-existing state.

From-SVN: r191171

11 years agore PR c++/54541 (SFINAE bug: handling incomplete return types)
Paolo Carlini [Tue, 11 Sep 2012 01:05:12 +0000 (01:05 +0000)]
re PR c++/54541 (SFINAE bug: handling incomplete return types)

/cp
2012-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54541
PR c++/54542
* call.c (build_cxx_call): Add tsubst_flags_t parameter, use
require_complete_type_sfinae.
(build_op_delete_call, build_over_call): Adjust.
* typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t
parameter.
(cp_build_function_call_vec): Adjust.
* init.c (build_new_1): Likewise.
* rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1):
Likewise.
* optimize.c (build_delete_destructor_body): Likewise.
* cp-tree.h: Adjust declarations.

* call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae.

/testsuite
2012-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54541
PR c++/54542
* g++.dg/cpp0x/sfinae40.C: New.
* g++.dg/cpp0x/sfinae41.C: Likewise.

From-SVN: r191170

11 years agoDaily bump.
GCC Administrator [Tue, 11 Sep 2012 00:18:25 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r191169

11 years ago* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
Diego Novillo [Tue, 11 Sep 2012 00:04:25 +0000 (20:04 -0400)]
* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

From-SVN: r191166

11 years agoRemove unnecessary VEC function overloads.
Diego Novillo [Tue, 11 Sep 2012 00:04:13 +0000 (20:04 -0400)]
Remove unnecessary VEC function overloads.

Several VEC member functions that accept an element 'T' used to have
two overloads: one taking 'T', the second taking 'T *'.

This used to be needed because of the interface dichotomy between
vectors of objects and vectors of pointers.  In the past, vectors of
pointers would use pass-by-value semantics, but vectors of objects
would use pass-by-reference semantics.  This is no longer necessary,
but the distinction had remained.

The main side-effect of this change is some code reduction in code
that manipulates vectors of objects.  For instance,

-  struct iterator_use *iuse;
-
-  iuse = VEC_safe_push (iterator_use, heap, iterator_uses, NULL);
-  iuse->iterator = iterator;
-  iuse->ptr = ptr;
+  struct iterator_use iuse = {iterator, ptr};
+  VEC_safe_push (iterator_use, heap, iterator_uses, iuse);

Compile time performance was not affected.

Tested on x86_64 and ppc64.

Also built all-gcc on all targets using VEC routines: arm, bfin, c6x,
epiphany, ia64, mips, sh, spu, and vms.

2012-09-10  Diego Novillo  <dnovillo@google.com>

* vec.h (vec_t::quick_push): Remove overload that accepts 'T *'.
Update all users.
(vec_t::safe_push): Likewise.
(vec_t::quick_insert): Likewise.
(vec_t::lower_bound): Likewise.
(vec_t::safe_insert): Likewise.
(vec_t::replace): Change second argument to 'T &'.

From-SVN: r191165

11 years agore PR c++/54538 (Getting assembler messages when compiling)
Jason Merrill [Mon, 10 Sep 2012 23:51:34 +0000 (19:51 -0400)]
re PR c++/54538 (Getting assembler messages when compiling)

PR c++/54538
PR c++/53783
* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR
for LAMBDA_EXPR_EXTRA_SCOPE except for function scope.

From-SVN: r191164

11 years ago* config/rs6000/rs6000.md: Move a splitter next to its insn.
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

11 years agore PR target/54089 ([SH] Refactor shift patterns)
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

11 years agore PR target/46191 (Non-absolute names in libgcc_s.so)
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

11 years agoira.c (setup_pressure_classes): Handle synonymous classes.
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

11 years agotree-ssa-forwprop.c (simplify_bitfield_ref): New function.
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

11 years agoconfig.gcc: Add mips*-mti-linux* target Handle with_synci like other options.
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

11 years ago* gcc.dg/tm/reg-promotion.c: Modify dump message check.
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

11 years agopr52558-2.c: Delete.
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

11 years agotree-ssa-forwprop.c (simplify_permutation): Handle CONSTRUCTOR.
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

11 years agoparams.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter.
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

11 years agore PR middle-end/54520 (ice in merge_latch_edges with -O3)
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

11 years agore PR c++/54506 (Defaulted move constructors and move assignment operators are errone...
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

11 years ago* semantics.c (sort_constexpr_mem_initializers): Tweak.
Jason Merrill [Mon, 10 Sep 2012 14:08:24 +0000 (10:08 -0400)]
* semantics.c (sort_constexpr_mem_initializers): Tweak.

From-SVN: r191139

12 years ago* config/alpha/predicates.md (small_symbolic_operand): Disallow large offsets.
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

12 years agore PR target/54536 ([avr]: incorrect crt with -mmcu=at90usb1287)
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

12 years agolto-cgraph.c (compute_ltrans_boundary): Do not care about aliases.
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

12 years agoDaily bump.
GCC Administrator [Mon, 10 Sep 2012 00:17:31 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r191124

12 years agore PR libstdc++/43852 (Embedded systems friendly libstdc++)
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

12 years ago* config/openbsd-stdint.h (INTMAX_TYPE, UINTMAX_TYPE): Define.
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

12 years agore PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on platforms...
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

12 years agoFix ChangeLog date.
Jonathan Wakely [Sun, 9 Sep 2012 18:02:25 +0000 (19:02 +0100)]
Fix ChangeLog date.

From-SVN: r191115

12 years agore PR libstdc++/54388 (std::array.at() const results in undefined behaviour)
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

12 years agopasses.c (ipa_write_summaries_1): Set state; do not call compute_ltrans_boundary.
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

12 years agore PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on platforms...
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

12 years agocpuid.h: Define signature_*_e[bcd]x macros for matching results of level 0 calls...
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

12 years agoReplace cgraph_node_set and varpool_node_set by symtab_node_encoder in partitioning.
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

12 years agodecl.c (reshape_init_class): Avoid dereferencing a past-the-end pointer.
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

12 years agoDaily bump.
GCC Administrator [Sun, 9 Sep 2012 00:18:33 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r191105

12 years agopa.c (hppa_rtx_costs): Update costs for large integer modes.
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

12 years agoFix broken patch
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

12 years agoAdd -fmem-report-wpa
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

12 years agoFix wrong date in ChangeLog
Andi Kleen [Sat, 8 Sep 2012 15:30:25 +0000 (15:30 +0000)]
Fix wrong date in ChangeLog

From-SVN: r191094

12 years agoOptimize moxie function prologues
Anthony Green [Sat, 8 Sep 2012 01:14:22 +0000 (01:14 +0000)]
Optimize moxie function prologues

From-SVN: r191088

12 years agoDaily bump.
GCC Administrator [Sat, 8 Sep 2012 00:17:52 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r191087

12 years agore PR fortran/54208 (compilation error for ubound construct in PARAMETER statements)
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

12 years agopt.c (num_template_headers_for_class): Rework per the code inline in cp_parser_check_...
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

12 years agore PR testsuite/54184 (gcc.dg/pr52558-1.c failure)
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

12 years agov850.h (DBX_DEBUGGING_INFO): Define.
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

12 years agoThis fixes part of the issue described in PR gcov-profile/54487 where there...
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

12 years agotrans.c (Loop_Statement_to_gnu): Revert to using size_type_node instead of sizetype.
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

12 years agore PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong...
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

12 years agore PR middle-end/53667 (Cray pointer: Wrong result with optimizations)
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

12 years agobitmap.c (bitmap_last_set_bit): Rewrite to return the correct bit.
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