gcc.git
9 years ago* cgraph.c (cgraph_node::dump): Dump profile flags.
Jan Hubicka [Sun, 18 Jan 2015 19:31:58 +0000 (19:31 +0000)]
* cgraph.c (cgraph_node::dump): Dump profile flags.

From-SVN: r219825

9 years agore PR target/64652 ([SH] ICE when using -mdiv=call-fp)
Oleg Endo [Sun, 18 Jan 2015 18:12:53 +0000 (18:12 +0000)]
re PR target/64652 ([SH] ICE when using -mdiv=call-fp)

gcc/
PR target/64652
* config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
reg appear first in the parallel.

gcc/testsuite/
PR target/64652
* gcc.target/sh/torture/pr64652.c: New.

From-SVN: r219824

9 years agoipa-icf-32.c: Update template.
Jan Hubicka [Sun, 18 Jan 2015 17:42:11 +0000 (18:42 +0100)]
ipa-icf-32.c: Update template.

* gcc.dg/ipa/ipa-icf-32.c: Update template.
* c-c++-common/asan/instrument-with-calls-3.c: Likewise.
* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
* c-c++-common/asan/instrument-with-calls-1.c: Likewise.
* c-c++-common/asan/kasan-recover-1.c: Likewise.
* c-c++-common/asan/kasan-recover-2.c: Likewise.

* ipa-reference.c (set_reference_optimization_summary,
ipa_reference_get_not_written_global): Do nothing if ipa-reference is disabled.
(ignore_module_statics): New static var.
(propagate_bits): If ipa-reference is disabled, do not look into local properties.
(analyze_function): Disable analysis when ipa_reference is disabled.
(generate_summary): Do not dump when reference is disabled;
collect vars accessed from functions with ipa-reference disabled.
(get_read_write_all_from_node): When ipa-reference is disabled, use the
node flags.
(gate): Enable for LTO.
(ignore_edge_p): New function.
(propagate): Skip functions w/o ipa-reference analysis.
* optc-save-gen.awk: Handle optimize_debug correctly.
* opth-gen.awk: Likewise.
* common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
fira-share-save-slots, fira-share-spill-slots,
fmodulo-sched-allow-regmoves, fpartial-inlining,
sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
ftracer, ftree-parallelize-loops, fassociative-math,
freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
Optimization
(fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
        ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
        Optimization.
* ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
Fix for IPA.

From-SVN: r219823

9 years agore PR ipa/64378 (ICE: in inline_call, at ipa-inline-transform.c:347 with -O3 -fno...
Jan Hubicka [Sun, 18 Jan 2015 17:31:35 +0000 (18:31 +0100)]
re PR ipa/64378 (ICE: in inline_call, at ipa-inline-transform.c:347 with -O3 -fno-ipa-cp)

PR ipa/64378
* ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
flag correctly.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
* g++.dg/torture/pr64378.C: New testcase.

From-SVN: r219822

9 years agore PR libstdc++/64646 (New overloads of std::is_permutation dereference past-the...
Jonathan Wakely [Sun, 18 Jan 2015 16:31:06 +0000 (16:31 +0000)]
re PR libstdc++/64646 (New overloads of std::is_permutation dereference past-the-end iterator)

PR libstdc++/64646
* include/bits/stl_algo.h (__is_permutation): Also test for reaching
end of the second range.
* testsuite/25_algorithms/is_permutation/64646.cc: New.

From-SVN: r219821

9 years agocorrect PR numbers on previous commit
Paul Thomas [Sun, 18 Jan 2015 16:02:43 +0000 (16:02 +0000)]
correct PR numbers on previous commit

From-SVN: r219819

9 years agore PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer...
Paul Thomas [Sun, 18 Jan 2015 15:52:49 +0000 (15:52 +0000)]
re PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer function)

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64578
* trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
for allocatable components, where the source is a variable.

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64578
* gfortran.dg/block_13.f08: New test

From-SVN: r219818

9 years agostatus_cxx2011.xml: Remove note about offsetof.
Jonathan Wakely [Sun, 18 Jan 2015 15:47:18 +0000 (15:47 +0000)]
status_cxx2011.xml: Remove note about offsetof.

* doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
* doc/html/manual/status.html: Regenerate.

From-SVN: r219817

9 years ago* src/c++11/futex.cc: Fix order of includes and preprocessor condition.
Jonathan Wakely [Sun, 18 Jan 2015 14:38:53 +0000 (14:38 +0000)]
* src/c++11/futex.cc: Fix order of includes and preprocessor condition.

From-SVN: r219816

9 years agoatomic_futex.h: Use mutex and condition_variable when atomic int is not lock-free.
Jonathan Wakely [Sun, 18 Jan 2015 14:25:22 +0000 (14:25 +0000)]
atomic_futex.h: Use mutex and condition_variable when atomic int is not lock-free.

* include/bits/atomic_futex.h: Use mutex and condition_variable when
atomic int is not lock-free. Make member variables private.
* src/c++11/futex.cc: Likewise.

From-SVN: r219815

9 years agore PR fortran/55901 ([OOP] type is (character(len=*)) misinterpreted as array)
Paul Thomas [Sun, 18 Jan 2015 12:21:38 +0000 (12:21 +0000)]
re PR fortran/55901 ([OOP] type is (character(len=*)) misinterpreted as array)

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55901
* primary.c (gfc_match_varspec): Exclude dangling associate-
names with dimension 0 from being counted as arrays.
* resolve.c (resolve_assoc_var): Sub-strings are permissible
for associate-names, so exclude characters from the test for
misuse as arrays.
* trans-decl.c (gfc_get_symbol_decl): Associate-names can use
the hidden string length variable of their associated target.
Signal this by setting 'length' to a constant, if the decl for
the string length is a variable.

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55901
* gfortran.dg/associate_1.f03: Allow test for character with
automatic length.

From-SVN: r219814

9 years agoinvoke.texi ([-funroll-loops], [...]): Remove duplicate option listings.
Sandra Loosemore [Sun, 18 Jan 2015 03:19:58 +0000 (22:19 -0500)]
invoke.texi ([-funroll-loops], [...]): Remove duplicate option listings.

2015-01-18  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
Remove duplicate option listings.

From-SVN: r219813

9 years agoauto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
Felix Yang [Sun, 18 Jan 2015 02:25:42 +0000 (02:25 +0000)]
auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.

        * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
        (autofdo_source_profile::get_callsite_total_count,
        function_instance::get_function_instance_by_decl,
        string_table::get_index, string_table::get_index_by_decl,
        afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
        Fix comment typos. Reformatting and minor code rearrangement.

From-SVN: r219812

9 years agoDaily bump.
GCC Administrator [Sun, 18 Jan 2015 00:17:04 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r219811

9 years agoppc-fpconv-4.c: Skip for -mpowerpc64.
Segher Boessenkool [Sat, 17 Jan 2015 21:12:24 +0000 (22:12 +0100)]
ppc-fpconv-4.c: Skip for -mpowerpc64.

* gcc.target/powerpc/ppc-fpconv-4.c: Skip for -mpowerpc64.
* gcc.target/powerpc/ppc-fpconv-8.c: Ditto.

From-SVN: r219808

9 years ago* gcc.dg/20020919-1.c: Use _ARCH_PPC64 to test for -mpowerpc64.
Segher Boessenkool [Sat, 17 Jan 2015 21:10:30 +0000 (22:10 +0100)]
* gcc.dg/20020919-1.c: Use _ARCH_PPC64 to test for -mpowerpc64.

From-SVN: r219807

9 years agors6000.md (probe_stack): Delete.
Segher Boessenkool [Sat, 17 Jan 2015 21:08:39 +0000 (22:08 +0100)]
rs6000.md (probe_stack): Delete.

* config/rs6000/rs6000.md (probe_stack): Delete.
(probe_stack_address): New.

From-SVN: r219806

9 years agors6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT to test for 32-bit ABIs, not...
Segher Boessenkool [Sat, 17 Jan 2015 21:04:23 +0000 (22:04 +0100)]
rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT to test for 32-bit ABIs, not !TARGET_POWERPC64.

* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
to test for 32-bit ABIs, not !TARGET_POWERPC64.

From-SVN: r219805

9 years agors6000.c (rs6000_parallel_return): New function.
Segher Boessenkool [Sat, 17 Jan 2015 20:58:12 +0000 (21:58 +0100)]
rs6000.c (rs6000_parallel_return): New function.

* config/rs6000/rs6000.c (rs6000_parallel_return): New function.
(rs6000_function_value): Use it.  Handle SCmode and TCmode as well,
for TARGET_32BIT && TARGET_POWERPC64.  Fix another BITS_PER_WORD
snafu.
(rs6000_libcall_value): Use the new function.

From-SVN: r219804

9 years agoinvoke.texi ([-ftracer]): Remove duplicate option listing.
Sandra Loosemore [Sat, 17 Jan 2015 20:51:24 +0000 (15:51 -0500)]
invoke.texi ([-ftracer]): Remove duplicate option listing.

2015-01-17  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi ([-ftracer]): Remove duplicate option listing.

From-SVN: r219803

9 years agore PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer...
Paul Thomas [Sat, 17 Jan 2015 20:44:07 +0000 (20:44 +0000)]
re PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer function)

2015-01-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64578
* trans-expr.c (gfc_trans_pointer_assignment): Make sure that
before reinitializing rse, to add the rse.pre to block before
creating 'ptrtemp'.
* trans-intrinsic.c (gfc_conv_associated): Deal with the class
data being a descriptor.

2015-01-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64578
* gfortran.dg/unlimited_polymorphic_21.f90: New test

From-SVN: r219802

9 years agore PR fortran/60357 ([F08] structure constructor with unspecified values for allocata...
Andre Vehreschild [Sat, 17 Jan 2015 18:08:38 +0000 (19:08 +0100)]
re PR fortran/60357 ([F08] structure constructor with unspecified values for allocatable components)

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60357
* primary.c (build_actual_constructor): Prevent warning.
* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
assignment): New function encapsulates treatment of allocatable
components.
(gfc_trans_subcomponent_assign): Needed to distinguish between
regular assignment and initilization.
(gfc_trans_structure_assign): Same.
(gfc_conv_structure): Same.

PR fortran/61275
* gfortran.h: deferred_parameter is not needed, because
it artificial does the trick completely.
* primary.c (build_actual_constructor): Same.
(gfc_convert_to_structure_constructor): Same.
* resolve.c (resolve_fl_derived0): Same.
* trans-expr.c (gfc_conv_component_ref): Prevent treating
allocatable deferred length char arrays here.
(gfc_trans_subcomponent_assign): Same as above.
* trans-types.c (gfc_sym_type): This is done in
gfc_get_derived_type already.

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60357
* gfortran.dg/alloc_comp_assign_13.f08: New test.

PR fortran/61275
* gfortran.dg/alloc_comp_assign_14.f08: New test.

PR fortran/55932
* gfortran.dg/alloc_comp_initializer_4.f03: New test.

From-SVN: r219801

9 years agoreorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid...
Eric Botcazou [Sat, 17 Jan 2015 14:00:57 +0000 (14:00 +0000)]
reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid...

* reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
implement a more precise life analysis for it during backward scan.

From-SVN: r219800

9 years agore PR libstdc++/64638 (Build failure with recent futex changes in libstdc++, likely...
Jonathan Wakely [Sat, 17 Jan 2015 13:48:48 +0000 (13:48 +0000)]
re PR libstdc++/64638 (Build failure with recent futex changes in libstdc++, likely all non-gthreads targets)

PR libstdc++/64638
* include/bits/atomic_futex.h: Use appropriate config macros for
availability of std::mutex, std::condition and std::chrono.

From-SVN: r219799

9 years agore PR fortran/60334 (Segmentation fault on character pointer assignments)
Andre Vehreschild [Sat, 17 Jan 2015 11:07:57 +0000 (11:07 +0000)]
re PR fortran/60334 (Segmentation fault on character pointer assignments)

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60334
* trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
length when the symbol is declared to be a result.
* trans-expr.c (gfc_conv_procedure_call): Strip deref on the
string length when functions are nested and the string length
is a reference already.

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60334
* gfortran.dg/deferred_type_param_6.f90: Add tests for this PR.

From-SVN: r219798

9 years agodwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
Jan Kratochvil [Sat, 17 Jan 2015 08:00:13 +0000 (08:00 +0000)]
dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.

2015-01-17  Jan Kratochvil  <jan.kratochvil@redhat.com>

* dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.

From-SVN: r219797

9 years agore PR rtl-optimization/52773 (internal error: in replace_pseudos_in, at reload1.c...
Bernd Schmidt [Sat, 17 Jan 2015 07:35:40 +0000 (07:35 +0000)]
re PR rtl-optimization/52773 (internal error: in replace_pseudos_in, at reload1.c:577)

PR rtl-optimization/52773
* calls.c (emit_library_call_value): When pushing arguments use
stack_pointer_rtx rather than virtual_outgoing_args_rtx in
CALL_INSN_FUNCTION_USAGE.  Only emit one of use of the magic
stack pointer reference into CALL_INSN_FUNCTION_USAGE.

PR rtl-optimization/52773
* gcc.c-torture/compile/pr52773.c: New test.

From-SVN: r219796

9 years agore PR rtl-optimization/32790 (REG_N_SETS holds wrong value)
Jeff Law [Sat, 17 Jan 2015 07:24:24 +0000 (00:24 -0700)]
re PR rtl-optimization/32790 (REG_N_SETS holds wrong value)

PR rtl-optimization/32790
        * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
        not ZERO_EXTEND in SET_DESTs.

From-SVN: r219795

9 years agostatus_cxx2011.xml: Update C++11 status.
Ville Voutilainen [Sat, 17 Jan 2015 03:23:52 +0000 (05:23 +0200)]
status_cxx2011.xml: Update C++11 status.

2015-01-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
    Jonathan Wakely  <jwakely@redhat.com>

* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
* doc/html/*: Regenerate.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r219794

9 years agoDR 488 PR libstdc++/58357
Jonathan Wakely [Sat, 17 Jan 2015 03:15:52 +0000 (03:15 +0000)]
DR 488 PR libstdc++/58357

DR 488
PR libstdc++/58357
* include/bits/algorithmfwd.h (rotate): Return an iterator.
* include/bits/stl_algo.h (rotate, __rotate): Likewise.
* testsuite/25_algorithms/rotate/dr488.cc: New.
* testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2.cc: Likewise.
* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
pod.cc: Likewise.

From-SVN: r219793

9 years agoRevert last change
Alan Modra [Sat, 17 Jan 2015 03:04:55 +0000 (13:34 +1030)]
Revert last change

From-SVN: r219792

9 years agorl78-real.md (addqi3_real): Allow volatiles.
DJ Delorie [Sat, 17 Jan 2015 02:57:53 +0000 (21:57 -0500)]
rl78-real.md (addqi3_real): Allow volatiles.

* config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
(addhi3_real): Likewise.  Fix [HL+0] syntax.
(subqi3_real): Likewise.
(subhi3_real): Likewise.
(cbranchqi4_real): Likewise.  Allow saddr,#imm.
(cbranchhi4_real): Likewise.
(cbranchhi4_real_inverted): Likewise.
(cbranchsi4_real_lt): Likewise.
(cbranchsi4_real_ge): Likewise.
(cbranchsi4_real_ge): Likewise.
* config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
(sub<mode>3_virt): Likewise.
(cbranchqi4_virt): Likewise.
(cbranchhi4_virt): Likewise.
* config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
always use '[reg+imm]' even when imm is zero.
* config/rl78/predicates.md (rl78_volatile_memory_operand): New.
(rl78_general_operand): New.
(rl78_nonimmediate_operand): New.
(rl78_nonfar_operand): Use them.
(rl78_nonfar_nonimm_operand): Likewise.
(rl78_stack_based_mem): Fix.
* config/rl78/constraints.md (Ibqi): New.
(IBqi): New.
(Wsa): New.
(Wsf): New.
(Cs1): Fix.
* config/rl78/rl78-expand.md (andqi3): Accept volatiles.
(iorqi3): Likewise.
(xorqi3): Likewise.
* config/rl78/rl78-protos.h (rl78_sfr_p): New.

        * config/rl78/constrains (Qs8): New constraint.
        * config/rl78/rl78.c (rl78_flags_already_set): New function.
        * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
        * config/rl78/rl78-real.md (update_Z): New attribute.
        Update patterns to set it.
        (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
        shorter compare and branch sequence can be used.
        (cbranchhi4_real): Likewise.
        (cbranchhi4_real_inverted): Likewise.

* config/rl78/predicates.md (uword_operand): Allow symbol_refs.
* config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
address space.
* config/rl78/rl78.c (rl78_get_name_encoding): New.
(rl78_option_override): Allow -mes0 only if C.
(characterize_address): Support subregs of symbol_refs.
(rl78_addr_space_address_mode): Move.  Add __near.
(rl78_far_p): Likewise.
(rl78_addr_space_pointer_mode): Likewise.
(rl78_as_legitimate_address): Likewise.
(rl78_addr_space_subset_p): Likewise.
(rl78_addr_space_convert): Likewise.
(rl78_print_operand_1): Support 16-bit addressing of 32-bit
symbols with -mes0.
(transcode_memory_rtx): Don't copy ES if -mes0.  Allow symbol[BC]
addressing.
(rl78_alloc_physical_registers_op1): Change logic to prefer
symbol[BC] addressing.
(frodata_section): New.
(rl78_asm_init_sections): Initialize it.
(rl78_select_section): Put __far readonly symbols in .frodata.
(rl78_make_type_far): New.
(rl78_insert_attributes): Force all readonly symbols to be __far when -mes0.
(rl78_asm_out_integer): New.
* config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
* config/rl78/rl78.opt (-mes0): New.

* config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
* config/rl78/rl78-protos.h (rl78_output_labelref): New.
(rl78_saddr_p): New.
(rl78_output_aligned_common): New.
* config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
(rl78_handle_saddr_attribute): New.
(rl78_handle_naked_attribute): New.
(rl78_attribute_table): Add saddr.
(rl78_print_operand_1): Don't print '!' on saddr operands.
(rl78_print_operand_1): Strip encodings.
(rl78_sfr_p): New.
(rl78_strip_name_encoding): New.
(rl78_attrlist_to_encoding): New.
(rl78_encode_section_info): New.
(rl78_asm_init_sections): New.
(rl78_select_section): New.
(rl78_output_labelref): New.
(rl78_output_aligned_common): New.
(rl78_asm_out_integer): New.
(rl78_asm_ctor_dtor): New.
(rl78_asm_constructor): New.
(rl78_asm_destructor): New.

* config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
* config/rl78/rl78.c (rl78_expand_epilogue): Update.
(transcode_memory_rtx): Update.
(rl78_expand_epilogue): Use A_REG instead of 0.

Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r219791

9 years agore PR libstdc++/60940 (general operations on atomic types do not work with atomic...
Jonathan Wakely [Sat, 17 Jan 2015 01:23:28 +0000 (01:23 +0000)]
re PR libstdc++/60940 (general operations on atomic types do not work with atomic integral typedefs)

PR libstdc++/60940
* include/bits/atomic_base.h: Remove atomic integral typedefs as
synonyms for __atomic_base<int> etc.
* include/std/atomic: Make atomic_int a synonym for atomic<int> and
likewise for all atomic integral types.
* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.

From-SVN: r219790

9 years agoModel cache auto-prefetcher in scheduler
Maxim Kuvyrkov [Sat, 17 Jan 2015 01:06:43 +0000 (01:06 +0000)]
Model cache auto-prefetcher in scheduler

* config/arm/arm-protos.h (struct tune_params): New field
sched_autopref_queue_depth.
* config/arm/arm.c (sched-int.h): Include header.
(arm_first_cycle_multipass_dfa_lookahead_guard,)
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
(arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
(arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
(arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
(arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
(arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
Specify sched_autopref_queue_depth value.  Enabled for A15 and A57.
* config/arm/t-arm (arm.o): Update.
* haifa-sched.c (update_insn_after_change): Update.
(rank_for_schedule): Use auto-prefetcher model, if requested.
(autopref_multipass_init): New static function.
(autopref_rank_for_schedule): New rank_for_schedule heuristic.
(autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
variable for debug dumps.
(autopref_multipass_dfa_lookahead_guard_1): New static helper function.
(autopref_multipass_dfa_lookahead_guard): New global function that
implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
(init_h_i_d): Update.
* params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
* sched-int.h (enum autopref_multipass_data_status): New const enum.
(autopref_multipass_data_): Structure for auto-prefetcher data.
(autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
(struct _haifa_insn_data:autopref_multipass_data): New field.
(INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
(autopref_multipass_dfa_lookahead_guard): Declare.

From-SVN: r219789

9 years agoHandle SCRATCH in decompose_address
Maxim Kuvyrkov [Sat, 17 Jan 2015 01:06:29 +0000 (01:06 +0000)]
Handle SCRATCH in decompose_address

* rtlanal.c (get_base_term): Handle SCRATCH.

From-SVN: r219788

9 years agoEnable max_issue for AArch32 and AArch64
Maxim Kuvyrkov [Sat, 17 Jan 2015 01:06:17 +0000 (01:06 +0000)]
Enable max_issue for AArch32 and AArch64

Enable max_issue for AArch32 and AArch64
* config/aarch64/aarch64.c
(aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
* config/arm/arm.c
(arm_first_cycle_multipass_dfa_lookahead): Implement hook.
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.

From-SVN: r219787

9 years agocprop.c (do_local_cprop): Disallow replacement of fixed hard registers.
Alan Modra [Sat, 17 Jan 2015 00:41:52 +0000 (11:11 +1030)]
cprop.c (do_local_cprop): Disallow replacement of fixed hard registers.

* cprop.c (do_local_cprop): Disallow replacement of fixed
hard registers.

From-SVN: r219786

9 years agore PR libstdc++/56785 (std::tuple of two elements does not apply empty base class...
Jonathan Wakely [Sat, 17 Jan 2015 00:21:41 +0000 (00:21 +0000)]
re PR libstdc++/56785 (std::tuple of two elements does not apply empty base class optimization when one of its elements is a std::tuple with two elements)

PR libstdc++/56785
* include/std/tuple (_Tuple_impl): Remove zero-element specialization
and define one-element specialization.
* testsuite/20_util/tuple/56785.cc: New.

From-SVN: r219785

9 years agoDaily bump.
GCC Administrator [Sat, 17 Jan 2015 00:16:37 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r219784

9 years ago1.cc: Remove unused header.
Jonathan Wakely [Sat, 17 Jan 2015 00:12:50 +0000 (00:12 +0000)]
1.cc: Remove unused header.

* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
Remove unused header.
* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
Likewise.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
Likewise.

From-SVN: r219781

9 years agolocale_conv.h (wstring_convert, [...]): New.
Jonathan Wakely [Fri, 16 Jan 2015 23:38:48 +0000 (23:38 +0000)]
locale_conv.h (wstring_convert, [...]): New.

* include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
* include/std/locale: Include new header.
* include/Makefile.am: Add it.
* include/Makefile.in: Regenerate.
* testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
* testsuite/22_locale/conversions/string/1.cc: New.
* testsuite/22_locale/conversions/string/2.cc: New.
* testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
* testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
New.

From-SVN: r219780

9 years agoImplement C++11 <codecvt> header.
Jonathan Wakely [Fri, 16 Jan 2015 23:38:35 +0000 (23:38 +0000)]
Implement C++11 <codecvt> header.

* config/abi/pre/gnu.ver: Export new symbols.
* include/Makefile.am: Add codecvt.
* include/Makefile.in: Regenerate.
* include/std/codecvt: New header.
* src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
__codecvt_utf8_utf16_base): Define specializations.
* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
New.

From-SVN: r219779

9 years agoruntime: Add __sparc__ case for SETCONTEXT_CLOBBERS_TLS.
Ian Lance Taylor [Fri, 16 Jan 2015 23:23:31 +0000 (23:23 +0000)]
runtime: Add __sparc__ case for SETCONTEXT_CLOBBERS_TLS.

The glibc setcontext incorrectly modifies %g7 on SPARC.

From Richard Henderson.

From-SVN: r219778

9 years agotesting/quick: Revert Alpha specific change.
Ian Lance Taylor [Fri, 16 Jan 2015 23:19:20 +0000 (23:19 +0000)]
testing/quick: Revert Alpha specific change.

No longer needed now that libffi supports complex types.

From-SVN: r219777

9 years agocompiler, reflect, runtime: Use static chain for closures.
Richard Henderson [Fri, 16 Jan 2015 22:58:53 +0000 (14:58 -0800)]
compiler, reflect, runtime: Use static chain for closures.

Change from using __go_set_closure to passing the closure
value in the static chain field.  Uses new backend support for
setting the closure chain in a call from C via
__builtin_call_with_static_chain.  Uses new support in libffi
for Go closures.

The old architecture specific support for reflect.MakeFunc is
removed, replaced by the libffi support.

All work done by Richard Henderson.

* go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
(Gcc_backend::static_chain_variable): New method.

From-SVN: r219776

9 years agoinvoke.texi (--param early-inlining-insns): Update default value.
Jan Hubicka [Fri, 16 Jan 2015 22:21:50 +0000 (22:21 +0000)]
invoke.texi (--param early-inlining-insns): Update default value.

* doc/invoke.texi (--param early-inlining-insns): Update default value.
* params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.

From-SVN: r219775

9 years agoParallelize the jit testsuite
David Malcolm [Fri, 16 Jan 2015 21:30:26 +0000 (21:30 +0000)]
Parallelize the jit testsuite

gcc/jit/ChangeLog:
* Make-lang.in (lang_checks_parallelized): Add "check-jit".
(check_jit_parallelize): Set this to an arbitrary value (10).

From-SVN: r219774

9 years agore PR libffi/64607 (Multilib test stops working in libffi)
Dominique d'Humieres [Fri, 16 Jan 2015 20:51:14 +0000 (21:51 +0100)]
re PR libffi/64607 (Multilib test stops working in libffi)

PR libffi/64607

 * Makefile.am (AM_MAKEFLAGS): Use double quotes on subvariables.
 * Makefile.in: Rebuilt.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r219772

9 years agolibgomp: Don't use <alloca.h>.
Thomas Schwinge [Fri, 16 Jan 2015 20:05:21 +0000 (21:05 +0100)]
libgomp: Don't use <alloca.h>.

libgomp/
* oacc-parallel.c: Don't include <alloca.h>.
(GOACC_parallel): Use gomp_alloca instead of alloca.

From-SVN: r219771

9 years agolibstdc++: Optimize synchronization in std::future if futexes are available.
Torvald Riegel [Fri, 16 Jan 2015 19:50:43 +0000 (19:50 +0000)]
libstdc++: Optimize synchronization in std::future if futexes are available.

* src/c++11/futex.cc: New file.
* include/bits/atomic_futex.h: New file.
* include/std/future (__future_base::_State_baseV2): Use
atomic_futex_unsigned instead of mutex+condvar.
* src/c++11/futex.cc: Likewise.
* include/Makefile.am: Add atomic_futex.h.
* include/Makefile.in: Likewise.
* src/c++11/Makefile.am: Add futex.cc.
* src/c++11/Makefile.in: Likewise.

From-SVN: r219770

9 years ago[ARM/AArch64][testsuite] Add vld1_lane tests.
Christophe Lyon [Fri, 16 Jan 2015 18:26:57 +0000 (18:26 +0000)]
[ARM/AArch64][testsuite] Add vld1_lane tests.

* gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c: New file.

From-SVN: r219767

9 years agore PR c++/62134 ([C++11] ICE with template alias)
Paolo Carlini [Fri, 16 Jan 2015 18:24:52 +0000 (18:24 +0000)]
re PR c++/62134 ([C++11] ICE with template alias)

2015-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62134
* g++.dg/cpp0x/alias-decl-46.C: New.

From-SVN: r219766

9 years ago[ARM/AArch64][testsuite] Be more verbose, and actually confirm that a
Christophe Lyon [Fri, 16 Jan 2015 18:21:53 +0000 (18:21 +0000)]
[ARM/AArch64][testsuite] Be more verbose, and actually confirm that a
test was checked.

* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK):
Add trace.
        (CHECK_FP): Likewise.
        (CHECK_CUMULATIVE_SAT): Likewise.

From-SVN: r219765

9 years ago[ARM/AArch64][testsuite] Add explicit dependency on Neon Cumulative Saturation flag
Christophe Lyon [Fri, 16 Jan 2015 18:19:42 +0000 (18:19 +0000)]
[ARM/AArch64][testsuite] Add explicit dependency on Neon Cumulative Saturation flag

        * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
        (Set_Neon_Cumulative_Sat): Add parameter.
        (__set_neon_cumulative_sat): Support new parameter.
        * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc
        (TEST_BINARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new
        argument.
        * gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc
        (TEST_UNARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new
        argument.

From-SVN: r219764

9 years ago[ARM] PR 62066: Call va_end on early return from va_list processing function
Kyrylo Tkachov [Fri, 16 Jan 2015 18:14:37 +0000 (18:14 +0000)]
[ARM] PR 62066: Call va_end on early return from va_list processing function

PR target/62066
* config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
early return 0.

From-SVN: r219763

9 years agooops.. fixed typo in ChangeLog
Bernd Edlinger [Fri, 16 Jan 2015 18:02:25 +0000 (18:02 +0000)]
oops.. fixed typo in ChangeLog

From-SVN: r219762

9 years agosanititer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
Bernd Edlinger [Fri, 16 Jan 2015 17:49:56 +0000 (17:49 +0000)]
sanititer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.

2015-01-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * sanititer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
        * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.

gcc/testsuite/ChangeLog
2015-01-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * g++.dg/tsan/vptr_benign_race.C: New testcase.
        * g++.dg/tsan/vptr_harmful_race.C: New testcase.

From-SVN: r219761

9 years agore PR c++/60056 ([C++11] ICE in var_defined_without_dynamic_init, at cp/decl2.c:2876...
Paolo Carlini [Fri, 16 Jan 2015 17:47:43 +0000 (17:47 +0000)]
re PR c++/60056 ([C++11] ICE in var_defined_without_dynamic_init, at cp/decl2.c:2876 with TLS static)

2015-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60056
* g++.dg/tls/thread_local-ice4.C: New.

From-SVN: r219760

9 years agoexpr.c (cpp_classify_number): Add N_() around ?...
Jakub Jelinek [Fri, 16 Jan 2015 17:40:15 +0000 (18:40 +0100)]
expr.c (cpp_classify_number): Add N_() around ?...

* expr.c (cpp_classify_number): Add N_() around ?: string
literals used in cpp_error_with_line call as format string.

From-SVN: r219759

9 years ago[Obvious, ARM Testsuite] mangle-arm-crypto.C needs arm_crypto arguments added
James Greenhalgh [Fri, 16 Jan 2015 17:36:18 +0000 (17:36 +0000)]
[Obvious, ARM Testsuite] mangle-arm-crypto.C needs arm_crypto  arguments added

gcc/testsuite/

* g++.dg/abi/mangle-abi-crypto.C: Add crypto options, rather
than Neon options.

From-SVN: r219758

9 years agoAdd missing testcase accidentally omitted from r219681
David Malcolm [Fri, 16 Jan 2015 17:26:08 +0000 (17:26 +0000)]
Add missing testcase accidentally omitted from r219681

From-SVN: r219757

9 years agore PR c++/62276 (ICE when non-variadic template template parameter is default argumen...
Paolo Carlini [Fri, 16 Jan 2015 17:10:20 +0000 (17:10 +0000)]
re PR c++/62276 (ICE when non-variadic template template parameter is default argument of variadic template template parameter)

2014-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62276
* g++.dg/cpp0x/vt-62276.C: New.

From-SVN: r219756

9 years ago[ARM] Move comment about splitting Thumb1 patterns to thumb1.md
Kyrylo Tkachov [Fri, 16 Jan 2015 16:58:58 +0000 (16:58 +0000)]
[ARM] Move comment about splitting Thumb1 patterns to thumb1.md

* config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
* config/arm/thumb1.md: ... Here.

From-SVN: r219755

9 years agors6000.c (rs6000_scalar_mode_supported_p): Disallow TImode for TARGET_32BIT.
Segher Boessenkool [Fri, 16 Jan 2015 16:46:32 +0000 (17:46 +0100)]
rs6000.c (rs6000_scalar_mode_supported_p): Disallow TImode for TARGET_32BIT.

* config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
TImode for TARGET_32BIT.

From-SVN: r219754

9 years agors6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, [...]): Implement as ...
Segher Boessenkool [Fri, 16 Jan 2015 16:36:16 +0000 (17:36 +0100)]
rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, [...]): Implement as ...

* config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
as ...
(rs6000_abi_word_mode): New function.

From-SVN: r219753

9 years agors6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD instead of UNITS_PER_WORD to descr...
Segher Boessenkool [Fri, 16 Jan 2015 16:34:31 +0000 (17:34 +0100)]
rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD instead of UNITS_PER_WORD to describe the size of stack...

* config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
instead of UNITS_PER_WORD to describe the size of stack slots.

From-SVN: r219752

9 years agors6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement as rs6000_promote_function_mode.
Segher Boessenkool [Fri, 16 Jan 2015 16:32:51 +0000 (17:32 +0100)]
rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement as rs6000_promote_function_mode.

* config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
as rs6000_promote_function_mode.  Move comment to there.
(rs6000_promote_function_mode): New function.

From-SVN: r219751

9 years agors6000.h (PROMOTE_MODE): Correct test for when -m32 -mpowerpc64 is active.
Segher Boessenkool [Fri, 16 Jan 2015 16:31:37 +0000 (17:31 +0100)]
rs6000.h (PROMOTE_MODE): Correct test for when -m32 -mpowerpc64 is active.

* config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
-mpowerpc64 is active.

From-SVN: r219750

9 years agonet: Restore earlier Solaris-specific version of setKeepAlivePeriod.
Ian Lance Taylor [Fri, 16 Jan 2015 15:57:32 +0000 (15:57 +0000)]
net: Restore earlier Solaris-specific version of setKeepAlivePeriod.

The version from the master repository seems to be appropriate
for OpenSolaris but not for Solaris itself.  Solaris 11.2
proper does not define TCP_KEEPIDLE or TCP_KEEPINTVL.

From-SVN: r219749

9 years agore PR middle-end/64353 (ICE: in execute_todo, at passes.c:1986)
Ilya Enkovich [Fri, 16 Jan 2015 15:38:21 +0000 (15:38 +0000)]
re PR middle-end/64353 (ICE: in execute_todo, at passes.c:1986)

gcc/

PR middle-end/64353
* tree-cfg.c (pass_data_fixup_cfg): Update SSA for
virtuals on start.

gcc/testsuite/

PR middle-end/64353
* g++.dg/pr64353.C: New.

From-SVN: r219748

9 years agoacinclude.m4: Fix typo in comment.
Jonathan Wakely [Fri, 16 Jan 2015 15:02:35 +0000 (15:02 +0000)]
acinclude.m4: Fix typo in comment.

* acinclude.m4: Fix typo in comment.
* configure: Regenerate.
* include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
codecvt<char16_t, char, mbstate_t>): Declare specializations.
* include/bits/locale_facets.h: Reserve space for new specializations.
* src/c++11/Makefile.am: Add codecvt.cc.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/codecvt.cc: New.
* src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
with -std=gnu++11.
* src/c++98/Makefile.in: Regenerate.
* src/c++98/locale_init.cc: Initialize new codecvt specializations.
* src/c++98/localename.cc: Likewise.
* config/abi/pre/gnu.ver: Exports for new codecvt specializations.
* testsuite/22_locale/codecvt/utf8.cc: New.
* testsuite/22_locale/locale/cons/unicode.cc: Check that new
specializations are installed in locale objects.

From-SVN: r219747

9 years ago[AArch64, Obvious] Fix broken commit r219724
James Greenhalgh [Fri, 16 Jan 2015 14:59:36 +0000 (14:59 +0000)]
[AArch64, Obvious] Fix broken commit r219724

gcc/

* config/arm/cortex-a57.md: Remove duplicate of file accidentally
introduced in revision 219724.

From-SVN: r219746

9 years ago[AArch64] Fix PR 64263: Do not try to split constants when destination is SIMD reg
Kyrylo Tkachov [Fri, 16 Jan 2015 14:50:39 +0000 (14:50 +0000)]
[AArch64] Fix PR 64263: Do not try to split constants when destination is SIMD reg

PR target/64263
* config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
destination is not a GP reg.
(*movdi_aarch64): Likewise.

* gcc.target/aarch64/pr64263_1.c: New test.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r219745

9 years agojit-builtins.h (DEF_FUNCTION_TYPE_VAR_5): Fix spelling of last argument.
Jakub Jelinek [Fri, 16 Jan 2015 14:38:14 +0000 (15:38 +0100)]
jit-builtins.h (DEF_FUNCTION_TYPE_VAR_5): Fix spelling of last argument.

* jit-builtins.h (DEF_FUNCTION_TYPE_VAR_5): Fix spelling of
last argument.
(DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): Define and
undef afterwards.
* jit-builtins.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
Likewise.
@@ -334,6 +343,8 @@ builtins_manager::make_type (enum jit_bu
 #undef DEF_FUNCTION_TYPE_VAR_3
 #undef DEF_FUNCTION_TYPE_VAR_4
 #undef DEF_FUNCTION_TYPE_VAR_5
+#undef DEF_FUNCTION_TYPE_VAR_8
+#undef DEF_FUNCTION_TYPE_VAR_12
 #undef DEF_POINTER_TYPE

     default:

From-SVN: r219744

9 years agoRevert ISA change
David Edelsohn [Fri, 16 Jan 2015 14:30:03 +0000 (14:30 +0000)]
Revert ISA change

From-SVN: r219743

9 years ago* target.c (num_devices): Guard with PLUGIN_SUPPORT.
Gerald Pfeifer [Fri, 16 Jan 2015 14:27:55 +0000 (14:27 +0000)]
* target.c (num_devices): Guard with PLUGIN_SUPPORT.

From-SVN: r219742

9 years agore PR tree-optimization/64434 (Performance regression after operand canonicalization...
Yuri Rumyantsev [Fri, 16 Jan 2015 14:22:57 +0000 (14:22 +0000)]
re PR tree-optimization/64434 (Performance regression after operand canonicalization (r216728).)

gcc/testsuite/

PR tree-optimization/64434
* gcc.dg/torture/pr64434.c: Move to...
* gcc.dg/pr64434.c: ... here.

From-SVN: r219741

9 years agoAdd missing } to gcc.c-torture/compile/20150108.c
Markus Trippelsdorf [Fri, 16 Jan 2015 13:59:08 +0000 (13:59 +0000)]
Add missing } to gcc.c-torture/compile/20150108.c

From-SVN: r219740

9 years agore PR middle-end/64614 (bogus used initialized warning (in gcc 4.9.2); switch stateme...
Richard Biener [Fri, 16 Jan 2015 13:26:10 +0000 (13:26 +0000)]
re PR middle-end/64614 (bogus used initialized warning (in gcc 4.9.2); switch statement versus &)

2015-01-16  Richard Biener  <rguenther@suse.de>

PR middle-end/64614
* tree-ssa-uninit.c: Include tree-cfg.h.
(MAX_SWITCH_CASES): New define.
(convert_control_dep_chain_into_preds): Handle switch statements.
(is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
(normalize_one_pred_1): Do not split bit-manipulations.
Record (x & CST).

* gcc.dg/uninit-18.c: New testcase.

From-SVN: r219739

9 years agolibstdc++: Add POSIX variant of shared_timed_mutex.
Torvald Riegel [Fri, 16 Jan 2015 13:22:00 +0000 (13:22 +0000)]
libstdc++: Add POSIX variant of shared_timed_mutex.

* include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
implementation.

From-SVN: r219737

9 years agore PR middle-end/64568 (error: invalid reference prefix)
Richard Biener [Fri, 16 Jan 2015 13:21:11 +0000 (13:21 +0000)]
re PR middle-end/64568 (error: invalid reference prefix)

2015-01-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64568
* tree-ssa-forwprop.c (pass_forwprop::execute): Guard
complex load rewriting for TARGET_MEM_REFs.

* g++.dg/torture/pr64568-2.C: New testcase.

From-SVN: r219736

9 years agobuiltins.c (expand_builtin_acc_on_device): Check target for NULL.
Uros Bizjak [Fri, 16 Jan 2015 13:16:46 +0000 (14:16 +0100)]
builtins.c (expand_builtin_acc_on_device): Check target for NULL.

* builtins.c (expand_builtin_acc_on_device): Check target for NULL.

From-SVN: r219735

9 years ago[AArch64] Remove -mlra/-mno-lra option for Aarch64
Matthew Wahab [Fri, 16 Jan 2015 13:11:53 +0000 (13:11 +0000)]
[AArch64] Remove -mlra/-mno-lra option for Aarch64

2015-01-16  Matthew Wahab  <matthew.wahab@arm.com>

gcc/
PR target/64149
* config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
variable.
* config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
(aarch64_lra_p): Remove.

From-SVN: r219734

9 years agore PR target/64363 (Unresolved labels with -fcheck-pointer-bounds and -mmpx)
Ilya Enkovich [Fri, 16 Jan 2015 13:08:24 +0000 (13:08 +0000)]
re PR target/64363 (Unresolved labels with -fcheck-pointer-bounds and -mmpx)

gcc/

PR target/64363
* ipa-chkp.h (chkp_instrumentable_p): New.
* ipa-chkp.c: Include tree-inline.h.
(chkp_instrumentable_p): New.
(chkp_maybe_create_clone): Use chkp_instrumentable_p.
Fix processing of not instrumentable functions.
(chkp_versioning): Use chkp_instrumentable_p. Warn about
not instrumentable functions.
* tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
chkp_instrumentable_p.
* tree-inline.h (copy_forbidden): New.
* tree-inline.c (copy_forbidden): Not static anymore.

gcc/testsuite/

PR target/64363
* gcc.target/i386/chkp-label-address.c: New.

From-SVN: r219733

9 years agoMark cl_target_option_print_diff args unused
Rainer Orth [Fri, 16 Jan 2015 12:58:20 +0000 (12:58 +0000)]
Mark cl_target_option_print_diff args unused

* optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
ptr1, ptr2 unused.

From-SVN: r219732

9 years agore PR fortran/45290 ([F08] pointer initialization)
Janus Weil [Fri, 16 Jan 2015 12:49:46 +0000 (13:49 +0100)]
re PR fortran/45290 ([F08] pointer initialization)

2015-01-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45290
* decl.c (match_pointer_init): Error out if resolution of init expr
failed.

2015-01-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45290
* gfortran.dg/pointer_init_6.f90: Extended.

From-SVN: r219731

9 years agoAdjust handling of word sized subregs for OP_OUT
Robert Suchanek [Fri, 16 Jan 2015 12:31:11 +0000 (12:31 +0000)]
Adjust handling of word sized subregs for OP_OUT

gcc/
* lra-constraints.c (curr_insn_transform): Change a reload pseudo of
type OP_OUT to OP_INOUT.

From-SVN: r219730

9 years agoAccount for high/lo_sum simplification with displacements
Robert Suchanek [Fri, 16 Jan 2015 12:31:01 +0000 (12:31 +0000)]
Account for high/lo_sum simplification with displacements

gcc/
* simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
(high x) y) to y if x and y have the same base.

gcc/testsuite/
* gcc.c-torture/compile/20150108.c: New test.

From-SVN: r219729

9 years ago* gcc.target/visium: New directory.
Eric Botcazou [Fri, 16 Jan 2015 12:21:32 +0000 (12:21 +0000)]
* gcc.target/visium: New directory.

From-SVN: r219728

9 years agore PR tree-optimization/61743 (Complete unroll is not happened for loops with short...
Richard Biener [Fri, 16 Jan 2015 12:06:07 +0000 (12:06 +0000)]
re PR tree-optimization/61743 (Complete unroll is not happened for loops with short upper bound)

2015-01-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61743
* gcc.dg/tree-ssa/pr61743-1.c: Add -fno-tree-vectorize.
* gcc.dg/tree-ssa/pr61743-2.c: Likewise.

From-SVN: r219725

9 years ago[AArch64] Add a new scheduling description for the ARM Cortex-A57 processor
James Greenhalgh [Fri, 16 Jan 2015 11:52:35 +0000 (11:52 +0000)]
[AArch64] Add a new scheduling description for the ARM Cortex-A57 processor

gcc/

* config/arm/cortex-a57.md: New.
* config/aarch64/aarch64.md: Include it.
* config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
* config/aarch64/aarch64-tune.md: Regenerate.

From-SVN: r219724

9 years ago[AArch64] Enable CCMP support for AArch64, PR64015 resolved
Zhenqiang Chen [Fri, 16 Jan 2015 11:48:00 +0000 (11:48 +0000)]
[AArch64] Enable CCMP support for AArch64, PR64015 resolved

gcc/
2015-01-16  Zhenqiang Chen  <zhenqiang.chen@arm.com>

PR target/64015
* ccmp.c (expand_ccmp_next): New function.
(expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
and compare insn sequence.
* config/aarch64/aarch64.c (aarch64_code_to_ccmode,
aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
(TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
* config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
(*ccmp_ior): Changed to ccmp_ior<mode>.
(cmp<mode>): New pattern.
* doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
parameters.
* target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.

gcc/testsuite/
2015-01-16  Zhenqiang Chen <zhenqiang.chen@arm.com>

* gcc.dg/pr64015.c: New test.

From-SVN: r219723

9 years agore PR testsuite/64605 (ERROR: (DejaGnu) proc "libatomic_target_compile lto1738.c...
Ilya Verbin [Fri, 16 Jan 2015 11:29:54 +0000 (11:29 +0000)]
re PR testsuite/64605 (ERROR: (DejaGnu) proc "libatomic_target_compile lto1738.c lto1738.o object additional_flags=-flto" does not exist.)

PR testsuite/64605

libatomic/
* testsuite/lib/libatomic.exp: Do not load gcc-dg.exp.
* testsuite/libatomic.c/c.exp: Load gcc-dg.exp.

From-SVN: r219722

9 years agog++.dg/ipa/pr64612.C: New test.
Markus Trippelsdorf [Fri, 16 Jan 2015 11:12:52 +0000 (11:12 +0000)]
g++.dg/ipa/pr64612.C: New test.

2015-01-16  Markus Trippelsdorf  <markus@trippelsdorf.de>

PR ipa/64163
PR ipa/64612
* g++.dg/ipa/pr64612.C: New test.

From-SVN: r219721

9 years ago[AARCH64]Enable gcc/testsuite/gcc.dg/builtin-apply2.c fro aarch64 target
Renlin Li [Fri, 16 Jan 2015 11:04:52 +0000 (11:04 +0000)]
[AARCH64]Enable gcc/testsuite/gcc.dg/builtin-apply2.c fro aarch64 target

testsuite/
2015-01-16  Renlin Li <renlin.li@arm.com>

* gcc.dg/builtin-apply2.c: Remove aarch64 target from skip list.

From-SVN: r219720

9 years agoAdd new names for intrinsics.
Ilya Tocar [Fri, 16 Jan 2015 11:01:08 +0000 (11:01 +0000)]
Add new names for intrinsics.

gcc/
* config/i386/avx2intrin.h (_mm256_bslli_epi128,
_mm256_bsrli_epi128): New.
* config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.

testsuite/
* gcc.target/i386/sse-14.c: Test new intrinsic.
* gcc.target/i386/sse-22.c: Ditto.

From-SVN: r219719

9 years ago[Patch] Improve warning message
Jiong Wang [Fri, 16 Jan 2015 10:20:40 +0000 (10:20 +0000)]
[Patch] Improve warning message

  gcc/
    * expmed.c (store_bit_field_using_insv): Improve warning message.
    Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.

From-SVN: r219718

9 years ago[Patch] Warn and truncate bitsize when partial overflow happen
Jiong Wang [Fri, 16 Jan 2015 10:14:51 +0000 (10:14 +0000)]
[Patch] Warn and truncate bitsize when partial overflow happen

  PR rtl-optimization/64011
  gcc/
    * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
    there is partial overflow.

From-SVN: r219717

9 years agore PR c++/58614 ([c++11] ICE with undeclared variable in initializer list)
Paolo Carlini [Fri, 16 Jan 2015 09:38:59 +0000 (09:38 +0000)]
re PR c++/58614 ([c++11] ICE with undeclared variable in initializer list)

/cp
2015-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58614
* pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
TREE_TYPE (elt) == error_mark_node.

/testsuite
2015-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58614
* g++.dg/cpp0x/auto44.C: New.

From-SVN: r219716

9 years agoBump copyright year
Eric Botcazou [Fri, 16 Jan 2015 09:35:57 +0000 (09:35 +0000)]
Bump copyright year

From-SVN: r219715